A corner case in Firefox's user interface for addon updates

April 13, 2024

One of the things that make browsers interesting programs, in one sense, is that they generally have a lot of options, which leads to a lot of potential different behavior, which creates plenty of places for bugs to hide out. One of my favorite ones in Firefox is a long-standing user interface bug in Firefox's general UI for addon updates, one that's hard for ordinary people to come across because it requires a series of unusual settings and circumstances.

If you have automatic updates for your addons turned off, Firefox's 'about:addons' interface for managing your extensions will still periodically check for updates to your addons, and if there are any, it will add an extra tab in the UI that lists addons with pending updates. This tab has a count of how many pending updates there are, because why not. The bug is that if the same addon comes out with more than one update (that Firefox notices) before you update it, this count of pending updates (and the tab itself) will stick at one or more, even though there are no actual addon updates that haven't been applied.

(You can argue that there are actually two bugs here, and that Firefox should be telling you the number of addons with pending updates, not the number of pending updates to addons. The count is clearly of pending updates, because if Firefox has seen two updates for one addon, it will report a count of '2' initially.)

To reach this bug you need a whole series of unusual circumstances. You need to turn off automatic addon updates, you have to be using an addon that updates frequently, and then you need to leave your Firefox running for long enough (and not manually apply addon updates), because Firefox re-counts pending updates when it's restarted. In my case, I see this because I'm using the beta releases of uBlock Origin, which update relatively frequently, and even then I usually see it only on my office Firefox, which I often leave running but untouched for four days at a time.

(It may be possible to see this with a long-running Firefox even if you have addon updates automatically applied, because addon updates sometimes ask you to opt in to applying them right now instead of when Firefox restarts. I believe an addon asking this question may stop further updates to the addon from being applied, leading to the same 'multiple pending updates' counting issue.)

Browsers are complex programs with a large set of UI interactions (especially when it comes to handling modern interactive web pages and their Javascript). In a way it's a bit of a miracle that they work as well as they do, and I'm sure that there's other issues like this in the less frequented parts of all browsers.


Comments on this page:

By Ian Z aka nobrowser at 2024-04-14 14:55:19:

If you have automatic updates for your addons turned off, Firefox's 'about:addons' interface for managing your extensions will still periodically check for updates to your addons, and if there are any, it will add an extra tab in the UI that lists addons with pending updates.

This doesn't seem to be the case for me. I see no change in the UI until I click on the gear icon and select "Check for updates" from the menu which pops up there. And this is in fact what I prefer; I want to update my Firefox extensions the same way I update the rest of my system, ie. with me in total control.

Even when I trigger the check and updates are in fact available, what I see is an extra item in the upper left corner. Not sure if this is what you meant with "extra tab".

Firefox 124.0.1 as packaged by PopOS/Ubuntu.

By cks at 2024-04-14 15:47:50:

Firefox's periodic check for pending addon updates is very slow, on the order of many hours (perhaps once a day), and mostly if you leave Firefox running. For me the about:addons UI has a strip of 'tabs' down the left side, and if there are new addon updates a new tab appears below the 'Plugins' tab, which you can use to see what addons have updates and invoke their '...' -> Update option. It's this new tab that has a count (if your window is wide enough) or just a marker of pending updates (if it's not).

Written on 13 April 2024.
« Please don't try to hot-reload changed Python files too often
(Probably) forcing Git to never prompt for authentication »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sat Apr 13 22:56:38 2024
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.