extension-manager
extension-manager copied to clipboard
Updating needs the 'GNOME Extensions' app on GNOME 40
I had a situation where i opened the app knowing there was an update for Just Perfection. However nothing seemed to happened, no sign of the update at all. I closed and reopened the app a few times to try and trigger an update check but again nothing happened. I then installed the official extensions app and that immediately seemed to get the update. Now i am not quite sure if the app hadn't triggered the check properly or even what need to happen for a check to occur but a way that i can manually check for updates would have been useful here
That's odd :thinking:
As of 0.3, the app checks for updates whenever a window is opened.
Which version on the app were you using? Could you also provide your distro and where you got the app from?
Hello @mjakeman, I am using Extension Manager and I think it is a great application for managing my extensions, so thank you so much for your work.
Just to add to this issue, I am experiencing the same problem. Two of my extensions released new versions these past days, but I did not have any chance to update them from inside the app:
- Burn My Windows is three versions behind.
- Blur my Shell is two versions behind.
These updates were released after I installed the v0.3 of Extension Manager.
To complement this information, I am using Fedora Workstation 36 Beta on a virtual machine running on VirtualBox.
@mjakeman Well, I can confirm that updating does not work on Fedora 36 (GNOME 42) for me as well. I think, however, that this an underlying problem in GNOME and has nothing to do with this extension. In previous GNOME versions I was able to update my extensions via /usr/bin/gdbus call --session --dest org.gnome.Shell.Extensions --object-path /org/gnome/Shell/Extensions --method org.gnome.Shell.Extensions.CheckForUpdates on the CLI, which also does not work anymore in GNOME 42, and I expect this app to call something similar along these lines.
It doesn't work for me, either (Fedora 35, Gnome 41.4)
I filed an issue, https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5360
This might be a bug here in the end... As mentioned in that gnome-shell ticket, I re-installed org.gnome.Extensions and was notified of the pending updates.
Thanks @philn and @bdaase for looking into this.
From what I gather, the issue is that GNOME Shell only permits the DBus call if the org.gnome.Extensions app is installed, regardless of who the caller is (see extensionSystem.js#L66). Since I also have the official app installed, this wouldn't have shown up in my testing.
I'm going to look further into how chrome-gnome-shell (the browser extension) handles this, as that seems to do updates fine. If it turns out we're blocked on GNOME Shell, then I'll open an issue and see if we can have the check dropped for explicit calls to the DBus API.
As a workaround, installing the official extensions app in parallel is the best course of action until this can be fixed.
Hi there - if org.gnome.Extensions is necessary for upgrades, could you please include a notice in either the README or in-app for us Fedora + Fedora Silverblue users? Fedora doesn't install org.gnome.Extensions by default, and Silverblue users want to minimize overlay apps if possible. I thought I didn't need to overlay org.gnome.Extensions because I had this Flatpak, but I was really confused why I had to reinstall extensions to upgrade them despite seeing "automatic updates" in the release notes and news whenever I'd try and search.
@weavermarquez I agree - I've added a "Known Issues" section to the README. I'll also include it in the release notes for 0.3.1.
This is at the top of my list since it's a pretty major flaw - it'll need changes to GNOME Shell to resolve however, so it might be with us long term.
I'm looking at adding an in-app warning for older GNOME versions to work around this.
I'm getting confused. Which one is necessary to get automatic updates? gnome-extensions-app (rpm, not flatpak) or org.gnome.Extensions (flatpak)?
@onlyreportingissues I believe either should work. GNOME Shell checks for the presence of the org.gnome.Extensions.desktop entry before checking for updates, which should be provided by either package. I can confirm it definitely works with the flatpak version.
I've opened https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5564 upstream.
From a discussion on #extensions:gnome.org, one solution is to create an extension manager "integrations" plugin which is itself hosted on EGO. This would patch out the check for the official extensions app and could also let us support things like Lists (#75). The user would be prompted to install this from the installed extensions view.
Tentatively, let's support GNOME 3.38 and later? (debian bullseye)
Hi everyone, I've created a small extension which patches out the check for org.gnome.Extensions in #211, allowing updates to work without the official app - It will be bundled with Extension Manager 0.4 as a one-click install for users.
As this modifies existing GNOME Shell code, I'm wary of conflicts with popular extensions. This is pretty unlikely, since it performs a very specific and minor change, but it still needs to be thoroughly tested before being shipped to end users.
Any help with testing/reporting issues would be much appreciated!
You can try it out by downloading the code from #211, renaming the plugins subdirectory to [email protected], and copying it to ~/.local/share/gnome-shell/extensions.
Unfortunately this approach is not going to work. GNOME Shell checks for the extensions app both when checking for updates (which this plugin patches) but also when installing updates. As the installation occurs before the extension hook, we cannot patch early enough to make the installation succeed.
I've created an MR for GNOME Shell to add alternate support for Extension Manager, which means this will hopefully be fixed for GNOME 43 and later. In the mean time let's explore other ideas for fixing this on GNOME 3.38-42.
Thank you for taking your time investigating this issue, @mjakeman ❤️ For those who want to keep an eye on the aforementioned MR in GNOME Shell, here it is: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2358. Cheers!
Extension Manager is now natively supported by GNOME 43 (and above).
Let's use this issue to try and find a fix or workaround for older and current GNOME versions, specifically 3.38-42.
Extension Manager is now natively supported by GNOME 43 (and above).
Let's use this issue to try and find a fix or workaround for older and current GNOME versions, specifically 3.38-42.
Nice! I think this change is backported to GNOME 42: https://github.com/GNOME/gnome-shell/commits/gnome-42 Edit: This is included in GNOME 41.9 and GNOME 42.4 releases
@mjakeman Haha nice, you will have to change the title of this issue again! https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/542101e8b51f55f2845ad6745e0b89ce7ce02196
Haha nice, you will have to change the title of this issue again!
I love when issues solve themselves :P
Great to see the patch sneak into GNOME 41, this means Extension Manager should work out of the box on all supported versions of GNOME.
I'm considering calling this fixed rather than trying to add any special workarounds for 3.38 and 40. Regarding...
- GNOME 3.38: I don't think there is any currently maintained distro which ships both 3.38 and gtk4 (and Debian Buster should be reaching end of life around now anyway) which means I wouldn't expect Extension Manager to support it.
- GNOME 40: This one is a bit more problematic, but we're helped by the fact Ubuntu did not ship it in an LTS release. I think it is reasonable to ask that, as GNOME 40 is now EOL, users install the official GNOME Extensions app to have updating support. If there are any notable cases of distros still shipping GNOME 40, we could ask them nicely to backport the patch.
Thoughts?
Closing - I've written up this wiki page to summarise the information in this issue. I'll update the README to link to it.