Flagfox 6.1 released

Flagfox 6.1.0 for Firefox 60+ has been released and is available for update and download from AMO. This major update brings back multiple features that were forced to be dropped during the WebExtension transition due to lack of API development by Mozilla. A year late, they’ve begun improving the API to bring back at least some dropped capabilities to addons. The two major features now reimplemented in Flagfox are: customizable hotkeys for all actions and the ability to fetch IPs from the DNS cache, as needed. Overall, Flagfox 6.1 is now more reliable and performant.

Flagfox 6.1.0 changelog:

  • IPv4 & IPv6 address location database updates for July 2018
  • Reimplemented support for fetching IPs from the DNS cache, instead of only requests (new WebExt API)
  • Reimplemented support for customizable hotkeys for actions, instead of just one default (new WebExt API)
  • Reimplemented action availability check on menu open, instead of all tab changes (new WebExt API)
  • Added local caching for all favicons (uses localStorage; clears with cache clear)
  • Added throttling to favicon fetching while editing an action’s template
  • Reimplemented default icon loading for missing favicons in menus
  • Added support for importing actions into options from prefs/actions JSON files
  • Improved startup to attempt to load icons into existing tabs, where possible
  • Rewrote IP/host cache, yet again (having the DNS API makes things way less complex now)
  • Added support for all action types in context menus, where now possible (IPs obtainable via DNS cache)
  • Changed hotkey pref save format to match new API; old ones from Flagfox 5.2.x will be imported
  • Added detection and indication of invalid or existing hotkeys, when setting (not 100%, due to iffy API)
  • Added ability to undo a hotkey change without having to cancel config, via escape key
  • Switched to PointerEvents where applicable (only minor use)
  • Improved opening of new tabs to use openerTabId; now opened next to subject, instead of end of strip
  • Support for Tree Style Tabs addon (and similar) is now available again due to openerTabId change
  • Shut up some pointless warning messages on startup from manifest.json load
  • Various code cleanups/fixes
  • Dropped support for Firefox 56-59, as Mozilla only finally added the new APIs used here in Firefox 60

Note: Firefox will ask for a permissions update for DNS, because WebExtensions are forced to re-ask for permission to do everything they used to do before. Just say yes to shut it up and allow update. I don’t even do DNS requests; just uses cache. Google/Mozilla’s permissions model here is not fantastic. I’ve already amended the Flagfox FAQ section on the topic of permissions, if you’d like a longer explanation of any of them in use in Flagfox.

I posted 3 beta test versions to this blog and managed to get a couple dozen people to test it… with zero feedback. Maybe it would’ve been a less anemic beta test if I could still use the beta channel on AMO, but Mozilla killed that in their apparent never-ending quest to make addon development more annoying. Part of the problem is also likely the plague of all software developers labeling their software as “beta” forever, teaching people that it just means “new” and not “test and report”. In any case, the only major issue I’m worried about is hotkey support on Macs, as neither I nor Richard have one and the documentation with regard to Mac keyboards and this new API is a freakin’ riddle. If someone reading this has a Mac, please test setting and the using a shortcut using the Command key, and then post a comment here telling me how it goes. (if it doesn’t work, Ctrl should trigger it instead, in which case, tell me and I can fix that)

The beta changelogs included recent changes to the default actions that were backported to the Flagfox 6.0.7 update and are thus not listed here. The main noticeable change in 6.1.0 since 6.1b3 is a fix to the detection of tab selection Firefox hotkeys on Windows (every OS uses a different modifier here, apparently). It previously let you try to set those when it shouldn’t and didn’t let you set the ones used in Linux (Mac was already handled). There’s also some code cleanups and the console debug messages have been turned off, as usual.

Just to be clear on the other Flagfox version branches: the Flagfox 5.2.x ESR update with be released later this month and Flagfox 6.0.7 was the final update for that branch. I’m not insane enough to simultaneously maintain 3 branches of an addon. There were no Firefox versions of real consequence dropped from support, so all Flagfox 6.0.x users should simply update to 6.1.x. It never is “simple”, though, as I know there are weirdos stuck on all sorts of intermediate Firefox versions because they disabled Firefox updating arbitrarily and forgot about it, but they’ll update eventually. Flagfox will at least tell them its database is stale after 3 months, as always.

Note that this post is auto-shown only on this major update, and should not be shown again (unless reinstalled). Flagfox is just a tiny little icon most of the time, so a first-run page is pretty much the only way for people to know much has changed. 🙂


19 thoughts on “Flagfox 6.1 released

  1. Tested with a Mac. Shortcut set to Command + E successfully, however using the shortcut was unsuccessful.

    • Does pressing Ctrl+E on a page perform the action you set to Command+E? Also, can you instead successfully set and then use a (different) Ctrl shortcut? I just tested setting/testing Ctrl+E on Linux here, and it worked fine; you may wish to try another combo as well, possibly using Shift. Combos using Alt should probably work equally fine on all platforms.

      Basically, Mozilla’s documentation on this sloppy API is bad, and I think I need to hack something to comply with their stupid hack. You’d think just telling it Command+E would be fine, but apparently not. I need more info to see how it actually works. Any more testing and information you can provide would be extremely appreciated.

      • Sorry, I tried adding short cuts on a mac, and I got it to display the key (e.g. cmd e for action Whois). But how to I trigger the action. Neither ctrl e nor cmd e do anything. Where do I find the flagfox actions? They are not in any menu nor coud I add them to the search bar where other addons have their place?

        • The Flagfox actions menu is available on right-click of the flag icon in the address bar or of some other resource in a page which Flagfox can lookup information for (as a submenu named Flagfox, in that case).

          The fact that Cmd+E can be set but doesn’t work seems to be a Firefox bug, based on other information posed by Matthew Knox in this comments thread.

          • Thank you for the excellent plug-in anyway! I don’t need those shortcuts so it is working great on my behalf!

      • Doesn’t appear to work with Ctrl + E or Cmd + E.
        Unable to set to any Cmd + Shift/Option(Alt)/Ctrl + Anykey shortcut, only Cmd + Character/Number Key
        Setting to Ctrl + E worked as intended (tested that on mac, windows and debian).

        I wouldn’t worry too much about their weirdness related to keyboard shortcuts. They work provided you don’t use the Cmd key. Most Cmd + Something combinations are already mapped to system wide or firefox shortcuts so the chance of anyone actually wanting to use them is low.

        • Slight addition to this, apparently one Cmd + OtherKey combo does actually appear to work.

          Cmd + {QWRTUIOPASDFGHJKLZXCVBZXCVBNM} – All bound to systemwide/firefox shortcuts

          Cmd + E – fails even though unbound
          Cmd + Y – success

          • Thank you very much for this additional info, as it’s actually a really big deal, here.

            If any Cmd+* combos work, then Firefox is at least registering and handling things correctly, theoretically. The fact that you can bind Cmd+Y to something and it actually works means I’m doing things correctly. The fact that the API accepts setting of Cmd+E and it doesn’t work means the API is junk. The API is missing a validation method, which any GUI to set things obviously needs. Flagfox currently tests using stuff I had to write based on the spec and known Firefox shortcuts, then does a temporary test setting to a dummy shortcut. I already knew the API allowed setting at least some shortcuts that it doesn’t actually support doing, and doing any complex work-around is not something I’m going to be able to attempt. It sounds like Mac might have even more mystery broken combinations.

            As to your other reply just above, knowing Alt & Ctrl work correctly on Mac is very good news. Thanks! With respect to setting any “Cmd + Shift/Option(Alt)/Ctrl + Anykey shortcut”, that’s actually not supported by Firefox 60. They only allow stuff in the form of: “Ctrl/Cmd/Alt + (maybe shift) + Key”. They have just recently added support for this in Firefox 63, but I’ll have to change my code to be able to handle that when it comes out. It’s annoying to have their strict rules changed on me just after I write something that follows them, but I guess I shouldn’t complain if they improve things here a bit.

            Lastly, Flagfox not allowing setting to known Firefox/general shortcuts is the intended behavior on all platforms. It shouldn’t be trying to do something else at the same time.

  2. Thanks for the great work!

    Minor remark: The “Get Flagfox” section on the left top of this page states “Supports Firefox 57+ on Windows,” for the “Download latest version”. This contradicts with the 6.1 changelog (“Dropped support for Firefox 56-59”).

Comments are closed.