I’m not sure what everyone’s position is on Gnome and extensions so I thought I’d start a discussion in here… I know Gnome devs aren’t so keen on extensions which is why there’s probably still a problem. However, from my user community I always see the same sort of time line of brokenness when Gnome releases a new version…
New Fedrora release comes out with a bumped Gnome version
People upgrade
Extensions are broken, in most instances because their metadata.json doesn’t have the correct shell-version defined.
It seems from where I’m sitting that what happens is…
Gnome releases a new version
Extension maintainers aren’t prepared for it in advance since many extensions are fairly loosely maintained
The extensions break for users when they upgrade
Users search around for a solution
4.1. some wait for the devs to update the extension
4.2. some uninstall the extension and give up
4.3. some modify metadata.json and carry on
4.4. occasionally a patch might be required
For me, this is one of the pain points of a Fedora upgrade and so I wonder if we have anyone in our community sufficiently involved or already considering this sort of problem?
Finally, let’s acknowledge that we all likely use at least one or two Gnome extensions so whatever the debate about whether they should or should not be included in the desktop I think this is an issue that affects a very large number of Gnome users.
If you want to solve this problem, then most extensions will cease to exist. There is absolutely no way to make extensions stable if (a) they remain monkey patches, and (b) the underlying code changes. And we’re not going to stop developing GNOME, so (b) is here to stay. If we get rid of (a) and add some stable API for extensions to use to do the things they want to do, then sure we could stabilize the surviving extensions, but 95% of extensions that exist now would cease to exist. So you’ve got to decide what you prefer.
Personally I’m OK with the status quo. Users understand that extensions are 100% unsupported and they are on their own if it breaks, but also have unlimited control to change anything they want via the extensions. I suspect if we were to try to lock things down to prevent extensions from breaking, we’d wind up with cries of “removing choice” etc. But whatever, I don’t really care too much. Just want to make sure you understand the unavoidable trade-off between flexibility and stability.
btw this seems really unlikely to me. You have to be pretty enterprising to go making major unsupported modifications to your desktop. I strongly suspect that the overwhelming majority of our users stick to Fedora defaults, which is just our logo extension.
Funny you should ask, I polled my user community and the results are in… about 50% use Gnome and 50% do not. Of those that use Gnome 90.7% said they use extensions and 9.3% say they don’t.
The sort of thing I’m thinking of for making extensions a little better (more reliable upon upgrades) would be some sort of curated list of extensions, perhaps a bit like the new curated list of Flatpak apps we have available in F35. We have that to some extent given there are extensions available for installation via RPM.
Thing is, users don’t have to upgrade instantly. F34s EOL is May of next year, so if someone depends on a GNOME extension that hasn’t been updated to 41 yet, they may simply stick with the current version a bit longer.
On the curated list, not quite sure how that would be different from the status quo. https://extensions.gnome.org already displays the supported Shell versions for every extension and the extension manager displays a red warning sign next to every extension that has been installed yet isn’t compatible with the current Shell version.
Perhaps the solution is as simple as an update to the upgrade docs to remind users to check whether their Gnome extensions are supported after they update? It would be better if this could be automated somehow such that the user gets a message saying “extensions A, B and C wont work after you upgrade” but that’s likely a stretch goal I would think.
The Linux Unplugged guys where actually talking about this in their Real Beefy Miracle episode (where they also interviewed Matthew Miller). Their suggestion was to trail Fedora releases by 6 Months. Basically upgrade to F35 when F36 comes out and so on. In their opinion you still stayed on top of most of the latest updates, but you also gave extension maintainers time to update before you bumped your version.