From 22d579512d9bd0b60657a0df5c9aef9e9f83dad3 Mon Sep 17 00:00:00 2001 From: jurassicplayer Date: Mon, 28 Aug 2023 07:00:37 -0700 Subject: Preserve plugin order when reinstalling/updating (#530) --- backend/browser.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'backend') diff --git a/backend/browser.py b/backend/browser.py index 0b0c5b98..ce9b3dd7 100644 --- a/backend/browser.py +++ b/backend/browser.py @@ -139,6 +139,8 @@ class PluginBrowser: # Check if plugin is installed isInstalled = False + # Preserve plugin order before removing plugin (uninstall alters the order and removes the plugin from the list) + current_plugin_order = self.settings.getSetting("pluginOrder")[:] if self.loader.watcher: self.loader.watcher.disabled = True try: @@ -191,9 +193,9 @@ class PluginBrowser: self.loader.plugins[name].stop() self.loader.plugins.pop(name, None) await sleep(1) - - current_plugin_order = self.settings.getSetting("pluginOrder") - current_plugin_order.append(name) + if not isInstalled: + current_plugin_order = self.settings.getSetting("pluginOrder") + current_plugin_order.append(name) self.settings.setSetting("pluginOrder", current_plugin_order) logger.debug("Plugin %s was added to the pluginOrder setting", name) self.loader.import_plugin(path.join(plugin_dir, "main.py"), plugin_folder) -- cgit v1.2.3