Flagfox 6.0 Beta 2 with Firefox 57+ support

The Flagfox 6.0b1 post is here. Prior posts on the general topic of this endeavor are here and here. Per standard beta software recommendations, general backup info is here.

Flagfox 6.0 Beta 2 has been posted to AMO’s beta channel for people to test. Everyone who is already signed up for the Flagfox beta channel should automatically get the update.

This update has a bunch of fixes, including 5 things listed in the prior posts’s “known issues” as well as a fix for the proxy problem reported by a beta tester in the comments there. I’ve also got some other fixes, including one that could cause some notable issues if you try to import certain types of actions lists (more than one at once). There’s also 3 new default actions (not in-menu by default, but available via options) and one dropped one, though it was only dropped because it’s now equivalent to another listed one (W3C’s newer validator got promoted to their default, so I don’t need two entries anymore). Also, better favicon handling and icons for those new HTTP security/protocol feature detection tags in the flag icon tooltip. The detailed changelogs for betas to this point are listed below, along with the current known issue lists.

Flagfox 6.0b2 changelog:

  • Fixed proxy detection to work properly with sloppy undocumented behavior of Mozilla’s WebExt webRequest API (Firefox 57+ only)
  • Fixed actions importer to always import action lists with names, using host name or placeholder, if needed
  • Fixed a bunch of little bugs in the new options page (with selection handling, drag/drop, & clone selected action)
  • Implemented manual paste menu item using new API and unified paste handling
  • Added an insecure HTTP tooltip tag, mutually exclusive with HSTS & HTTP/2 tags
  • Improved HTTP protocol/security tooltip tags with simple, easy-to-notice icons (Unicode; all in color, in Nightly)
  • Added ability to handle default action favicons on non-standard paths; all should show, now (improvement over 5.x)
  • Dropped obsolete Validate.nu default action, as it’s now the same as the main W3C Validator
  • Added some new default actions: Is It Up? (alternative status checker), Built With, & Mozilla Security Observatory
  • Added hooks to options for clone selected action (if any) on normal copy/cut, via main menu or hotkey (e.g. ctrl+c)

The changelog for 6.0 beta 1 is here.

For the list of stuff that’s broken because Mozilla/Google’s addon API kinda sucks, read here.

Flagfox 6.0b2 known issues:

  • JS actions are currently not available due WebExt API restrictions; I can probably hack around this
  • The new page element action menus do not yet support actions that use IP addresses (WIP; implementation TBD)
  • There’s sometimes a IPDB recursion error on first startup, though it (usually) recovers with nothing breaking
  • A few RTL issues (always expected; Arabic and Hebrew users are probably used to seeing this in all software)
  • Options edit action dialog autocomplete and help popup are disabled (cut for time; will reimplement later)
  • Options page is kinda ugly, due to having to port to HTML and CSS being horrible (and me sucking at it)
  • Keyboard focus handling in options subdialogs is not working correctly
  • Icon/tooltip sometimes doesn’t update correctly on non-existent domain error pages
  • All page notifications for TLD/IP country mismatches have been disabled until I can make it work better

Bug reports / feedback can be posted in a comment to this post or to the thread on the support forum. You can also email me or send me a tweet or whatever. Comments for old beta posts here will be locked; please post to the new one, so we can keep track of what’s applicable for what version.

Lastly, THANK YOU. There is no deluge of beta testers, but just a handful of people are needed to be a real help. Even if you don’t personally hit anything really bad, posting a comment with any info you think might be helpful would be quite welcome.

Advertisement

Flagfox 6.0 Beta 1 with Firefox 57+ support

Dear lord that took forever… my initial estimate morphed from dozens of hours to a couple hundred hours to… more… but I’ve got something worth posting now. I spent half of the last week rewriting some important stuff because I found yet another Firefox bug in the WebExtension API, this time a regression from 56 (yep, they managed to break some WebExt stuff on exactly the Firefox 57 update). My running todo list of Mozilla bugs to file is currently longer than my changelog. My previous posts on this topic are here and here.

Flagfox 6.0 Beta 1 has been posted to AMO’s beta channel for people to test

As with all software development builds, a backup of your relevant data is generally recommended. Though, seeing as I was already using the WebExt API for storage in Flagfox 5.2 (for transitioning data, seeing as the WebExt API has NO method to access old prefs), you’re probably fine (though, I did change the action tab/window open setting format, but that’s a really minor thing). Flagfox 5.2+ data is in the “browser-extension-data” subfolder of your Firefox profile. Addon data is in there by addon ID, for which Flagfox has the lovely very-old-style ID of “{1018e4d6-728f-4b20-ad56-37578a4de76b}”. (full Firefox profile backup instructions are here)

Flagfox 6.0b1 changelog:

  • First pure WebExtension API version of Flagfox; Firefox 57+ support added (min version Firefox 56)
  • Ported Flagfox options from XUL window to HTML tab (along with all other dialogs), per WebExt requirement
  • Improved IPDB to now run in its own dedicated JS Worker thread
  • Started using ES6 promises everywhere (some new uses because it’s better; many compelled by WebExt API)
  • Faster flag icon updates using new WebExt API (pages loaded/cached prior to install/update must be refreshed)
  • Added simple indicator tags for HSTS and HTTP/2 to flag icon tooltips
  • Added Flagfox actions context menus for elements within a page and background tabs (IP-related stuff not yet implemented)
  • Improved keyboard support in the options page
  • Added options page support for paste to import actions from text, via main menu or hotkey (e.g. ctrl+v)
  • Fixed some bugs with actions import/drag/drop in options under recent versions of Firefox
  • Added Linux support for opening actions in a background window (not that anyone likely cares)
  • Implemented custom locale properties file parsing/loading, because screw WebExtension’s bloated I18N
  • Implemented universal automatic English fallback for locales (Flagfox 5 had some; Flagfox 6 has it for everything)
  • Now stripping redundant manual English fallback strings on build, to save a bit of space
  • Added automatic locale file unload after disuse to reduce memory use when no longer needed
  • Significantly improved location/host/ip caching (which is now required, due to WebExt APIs)
  • Implemented (partial) replacements for various features Mozilla abandoned with the WebExt transition (e.g. eTLD)
  • Removed old grey question mark icon; replaced its last remaining use with globe icon
  • Various default action changes (Netcraft & IntoDNS HTTPS; Wave A11Y dropped; WOT demoted from default menu)
  • Geotool action hotkey changed from Ctrl+Alt+G to Alt+Shift+G due to the very limited WebExtension hotkey API
  • New default action hotclicks: “Check Server Status” on double-click and “Google Cache” on triple-click
  • IPv4 & IPv6 address location database updates for December 2017

Note that some new stuff should be considered to be “experimental”, for now (aka it might not work perfectly yet). The new features were actually fairly quick to implement, given the APIs available. The new menus are the main thing you can point to as an actual improvement that’s a direct result of the WebExtension API (out of, like, two things). The HTTP info tags took like 10 minutes. 🙂

Broken stuff I can’t fix, due to WebExtension API limitations:

  • Icon is smaller and squarified, per WebExt API’s apparent requirements (not documented properly)
  • Icon menu has default toolbar menu items in it, even if N/A; no way to disable; nightly is better with this
  • Icon menu limited to 6 top-level items, per arbitrary WebExt API limitation; others in auto-submenu
  • Icon menu item favicons (if enabled) have no default; WebExt API has no way to set a default/onerror
  • All menu generation is done more often than prior versions due to primitive WebExt API (no show event)
  • Icon tooltip doesn’t have columns or decent styling, as the WebExt API here is primitive (plain text only)
  • Icon middle-click settings no longer work, due to limited WebExt API (existing settings left alone, but hidden)
  • Hotkey customization is no longer available, due to very limited WebExt API (no user-set hotkey support, at all)
  • The WebExt notifications API outputs to the OS notifications system, which may get truncated text (likely to replace)
  • There is no way to select “Don’t show this again” for notifications (custom buttons not supported in Firefox)
  • Firefox wipes all WebExtension data on uninstall, without user notification or prompting (affects everyone)

Known issues (aka broken stuff I should be able to fix):

  • JS actions are currently not available due WebExt API restrictions; I can probably hack around this
  • The new page element action menus do not yet support actions that use IP addresses (WIP; implementation TBD)
  • There’s sometimes a IPDB recursion error on first startup, though it recovers with nothing breaking
  • A few RTL issues (always expected; Arabic and Hebrew users are probably used to seeing this in all software)
  • Options page action drag/drop to reorder always snaps to the bottom if you drag out of the box
  • Options edit action dialog autocomplete and help popup are disabled (cut for time; will reimplement later)
  • Options page is kinda ugly, due to having to port to HTML and CSS being horrible (and me sucking at it)
  • Options page add item hover menu option for pasting doesn’t work (may or may not be possible with the API)
  • Keyboard focus handling in options subdialogs is not working correctly
  • Icon/tooltip sometimes doesn’t update correctly on non-existent domain error pages
  • All page notifications for TLD/IP country mismatches have been disabled until I can make it work better
  • The browser console will end up with lots of log messages from l10n.js due to leaving a setting fairly low for testing. The setting has been turned up a bit and the log messages will be shut up for future versions.
  • New default action hotclicks aren’t activated on startup; reload Flagfox or set/unset a action option to work-around (sigh… found literally minutes after posting this)

Another known issue: I need to look into making the content area on this blog wider to fit this stuff better. (Edit: fixed via theme change)

Also note that this is the first time I’m using Mozilla’s beta channel since they switched to mandatory addon signing. It’ll probably work fine, but I don’t actually know yet.

Bug reports / feedback can be posted in a comment to this post or to the thread on the support forum. You can also email me or send me a tweet or whatever.

Flagfox 5.0b5 released

Flagfox 5 beta 5 is now available for testing. If you have a previous beta installed you should get an automatic update at some point to 5.0b5. (this update does not yet affect stable Flagfox 4.2.x users)

Firefox addon updates can also be checked for manually via Tools / Firefox button -> Add-ons -> click options icon (to the left of the search box) -> “Check for Updates”.

Changelog for Flagfox 5.0b5 (since 5.0b4):

  • Fix flag icon positioning issue under Australis
  • Use higher quality image for beta info link favicon
  • More locale and flag icon updates

Changelogs for previous betas are available here: 5.0b1, 5.0b2, 5.0b3, 5.0b4

Flagfox 5.0b4 released

Flagfox 5 beta 4 is now available for testing. If you have a previous beta installed you should get an automatic update at some point to 5.0b4. (this update does not yet affect stable Flagfox 4.2.x users)

Firefox addon updates can also be checked for manually via Tools / Firefox button -> Add-ons -> click options icon (to the left of the search box) -> “Check for Updates”.

Changelog for Flagfox 5.0b4 (since 5.0b3):

  • IPv4 & IPv6 address location database updates for February 2014
  • Fixed error message shown on close of tab with tab-modal prompt from a JS action open
  • Added check to avoid importing actions from Flagfox 4.x if pref from 5.x already exists
  • Added ability to middle-click on an action in the menu to open it in a background tab
  • Added ability to middle/ctrl+click multiple actions in a row without closing menu
  • Added first run page to be shown for major updates (currently beta testers’ version)
  • More locale updates, including locales that haven’t yet been in the beta
  • Fixed a few RTL issues
  • More flag icon updates
  • New Flagfox logo!

Changelogs for previous betas are available here: 5.0b1, 5.0b2, 5.0b3

Flagfox 5.0b3 released

Flagfox 5 beta 3 is now available for testing. You can download it from the Flagfox versions page on Mozilla Addons. If you have Flagfox 5.0b1 or 5.0b2 installed you should get an automatic update at some point to 5.0b3. (this update does not yet affect stable Flagfox 4.2.x users)

Firefox addon updates can also be checked for manually via Tools / Firefox button -> Add-ons -> click options icon (to the left of the search box) -> “Check for Updates”.

Changelog for Flagfox 5.0b3 (since 5.0b2):

  • Fixed locale file loading to bypass the unreliable string bundle cache on update
  • Some more locale updates and the addition of a Malaysian locale
  • A few more flag icon updates

To see the rest of the changes in Flagfox since version 4.2.17, read the changelog for Flagfox 5.0b1 here.

Flagfox 5.0b2 released

Flagfox 5.0 beta 2 is now available for testing. You can download it from the Flagfox versions page on Mozilla Addons. If you have Flagfox 5.0b1 installed you should get an automatic update at some point to 5.0b2. (this update does not yet affect stable Flagfox 4.2.x users)

Firefox addon updates can also be checked for manually via Tools / Firefox button -> Add-ons -> click options icon (to the left of the search box) -> “Check for Updates”.

Seeing as one of the major new features in Flagfox 5.0 is restartless installation and updating, having a second beta to update to is useful to test the restartlessness. Hopefully I’ve gotten all the kinks worked out. 😉

Changelog for Flagfox 5.0b2 (since 5.0b1):

  • Changed actions customizations pref format to store using less space
  • Added support for getting fields by name as well as ID via form field actions
  • Added SSL Server Test (Qualys SSL Labs) default action
  • A few more minor code improvements

Installing Flagfox 5.0b2 will convert an existing Flagfox 4.x or 5.0b1 set of actions preferences and customizations into the new format. There is no downgrade path. As previously mentioned, test in a new Firefox profile if this is an issue for you (and backing up your stuff regularly is a general good idea if you ever install anything with “alpha” or “beta” in the version).

To see the rest of the changes in Flagfox since version 4.2.17, read the changelog for Flagfox 5.0b1 here.