mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
extensionSystem: Require Extensions app for updates
While we don't technically need the app to download and apply updates, we do require it for notifying the user about available updates and listing extensions with pending updates. So instead of intransparently applying updates in the background without the user noticing, disable updates altogether if the Extensions app is not installed. https://gitlab.gnome.org/GNOME/gnome-shell/issues/2346
This commit is contained in:
parent
cc347bf6d8
commit
660a2b6e62
2 changed files with 14 additions and 0 deletions
|
|
@ -108,6 +108,9 @@ function gotExtensionZipFile(session, message, uuid, dir, callback, errback) {
|
|||
}
|
||||
|
||||
function downloadExtensionUpdate(uuid) {
|
||||
if (!Main.extensionManager.updatesSupported)
|
||||
return;
|
||||
|
||||
let dir = Gio.File.new_for_path(
|
||||
GLib.build_filenamev([global.userdatadir, 'extension-updates', uuid]));
|
||||
|
||||
|
|
@ -126,6 +129,9 @@ function downloadExtensionUpdate(uuid) {
|
|||
}
|
||||
|
||||
function checkForUpdates() {
|
||||
if (!Main.extensionManager.updatesSupported)
|
||||
return;
|
||||
|
||||
let metadatas = {};
|
||||
Main.extensionManager.getUuids().forEach(uuid => {
|
||||
let extension = Main.extensionManager.lookup(uuid);
|
||||
|
|
|
|||
|
|
@ -60,6 +60,11 @@ var ExtensionManager = class {
|
|||
ExtensionDownloader.checkForUpdates();
|
||||
}
|
||||
|
||||
get updatesSupported() {
|
||||
const appSys = Shell.AppSystem.get_default();
|
||||
return appSys.lookup_app('org.gnome.Extensions.desktop') !== null;
|
||||
}
|
||||
|
||||
lookup(uuid) {
|
||||
return this._extensions.get(uuid);
|
||||
}
|
||||
|
|
@ -481,6 +486,9 @@ var ExtensionManager = class {
|
|||
}
|
||||
|
||||
_installExtensionUpdates() {
|
||||
if (!this.updatesSupported)
|
||||
return;
|
||||
|
||||
FileUtils.collectFromDatadirs('extension-updates', true, (dir, info) => {
|
||||
let fileType = info.get_file_type();
|
||||
if (fileType !== Gio.FileType.DIRECTORY)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue