[gnome-shell] extensionSystem: Install pending updates on startup
- From: verdre <jonasd src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] extensionSystem: Install pending updates on startup
- Date: Thu, 30 Jan 2020 14:06:24 +0000 (UTC)
commit db9ef11f2893eae0905b091be361ff5417156beb
Author: Florian Müllner <fmuellner gnome org>
Date: Wed Jan 22 15:09:05 2020 +0100
extensionSystem: Install pending updates on startup
Now that we have a way to check for updates and download them, we
should actually apply them as well. Do this on startup before any
extensions are initialized, to make sure we don't run into any
conflicts with a previously loaded version.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/945
js/ui/extensionSystem.js | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
---
diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js
index 49e333fffa..4328597339 100644
--- a/js/ui/extensionSystem.js
+++ b/js/ui/extensionSystem.js
@@ -45,6 +45,7 @@ var ExtensionManager = class {
return GLib.SOURCE_REMOVE;
});
+ this._installExtensionUpdates();
this._sessionUpdated();
}
@@ -456,6 +457,21 @@ var ExtensionManager = class {
}).forEach(extension => this.reloadExtension(extension));
}
+ _installExtensionUpdates() {
+ FileUtils.collectFromDatadirs('extension-updates', true, (dir, info) => {
+ let fileType = info.get_file_type();
+ if (fileType !== Gio.FileType.DIRECTORY)
+ return;
+ let uuid = info.get_name();
+ let extensionDir = Gio.File.new_for_path(
+ GLib.build_filenamev([global.userdatadir, 'extensions', uuid]));
+
+ FileUtils.recursivelyDeleteDir(extensionDir, false);
+ FileUtils.recursivelyMoveDir(dir, extensionDir);
+ FileUtils.recursivelyDeleteDir(dir, true);
+ });
+ }
+
_loadExtensions() {
global.settings.connect(`changed::${ENABLED_EXTENSIONS_KEY}`,
this._onEnabledExtensionsChanged.bind(this));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]