From 9f586a1b97cf9069fbfbeee17e3909baf9e95f66 Mon Sep 17 00:00:00 2001 From: jbofill <74568881+jessebofill@users.noreply.github.com> Date: Tue, 30 Dec 2025 12:29:08 -0700 Subject: Feat: Disable plugins (#850) * implement base frontend changes necessary for plugin disabling * implement frontend diisable functions/ modal * plugin disable boilerplate / untested * Feat disable plugins (#810) * implement base frontend changes necessary for plugin disabling * implement frontend diisable functions/ modal --------- Co-authored-by: Jesse Bofill * fix mistakes * add frontend * working plugin disable, not tested extensively * fix uninstalled hidden plugins remaining in list * hide plugin irrelevant plugin setting menu option when disabled * fix hidden plugin issues * reset disabled plugin on uninstall * fix plugin load on reenable * move disable settings uninstall cleanup * add engilsh tranlsations for enable/ disable elements * fix bug where wrong loadType can get passed to importPlugin * show correct number of hidden plugins if plugin is both hidden and disabled * fix: get fresh list of plugin updates when changed in settings plugin list * fix: fix invalid semver plugin version from preventing latest updates * retain x position when changing focus in list items that have multiple horizontal focusables * correction to pluging version checking validation * make sure disabled plugins get checked for updates * show number of disabled plugins at bottom of plugin view * add notice to update modals that disabled plugins will be enabled upon installation * run formatter * Update backend/decky_loader/locales/en-US.json Co-authored-by: EMERALD * chore: correct filename typo * chore: change disabled icon * chore: revert accidental defsettings changes * format * add timeout to frontend importPlugin if a request hangs this prevent it from blocking other plugin loads. backend diaptch_plugin which calls this for individual plugin load (as opposed to batch) is set to 15s. other callers of importPlugin are not using timeout, same as before. * fix plugin update checking loop --------- Co-authored-by: marios Co-authored-by: EMERALD --- backend/decky_loader/locales/en-US.json | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'backend/decky_loader/locales') diff --git a/backend/decky_loader/locales/en-US.json b/backend/decky_loader/locales/en-US.json index 836f4878..1f87fe3b 100644 --- a/backend/decky_loader/locales/en-US.json +++ b/backend/decky_loader/locales/en-US.json @@ -102,6 +102,7 @@ }, "no_hash": "This plugin does not have a hash, you are installing it at your own risk.", "not_installed": "(not installed)", + "disabled": "The plugin will be re-enabled after installation", "overwrite": { "button_idle": "Overwrite", "button_processing": "Overwriting", @@ -133,10 +134,13 @@ "uninstall": "Uninstall", "update_all_one": "Update 1 plugin", "update_all_other": "Update {{count}} plugins", - "update_to": "Update to {{name}}" + "update_to": "Update to {{name}}", + "disable": "Disable", + "enable": "Enable" }, "PluginListLabel": { - "hidden": "Hidden from the quick access menu" + "hidden": "Hidden from the quick access menu", + "disabled": "Plugin disabled" }, "PluginLoader": { "decky_title": "Decky", @@ -152,12 +156,23 @@ "desc": "Are you sure you want to uninstall {{name}}?", "title": "Uninstall {{name}}" }, + "plugin_disable": { + "button": "Disable", + "desc": "Are you sure you want to disable {{name}}?", + "title": "Disable {{name}}", + "error": "Error disabling {{name}}" + }, + "plugin_enable": { + "error": "Error enabling {{name}}" + }, "plugin_update_one": "Updates available for 1 plugin!", "plugin_update_other": "Updates available for {{count}} plugins!" }, "PluginView": { "hidden_one": "1 plugin is hidden from this list", - "hidden_other": "{{count}} plugins are hidden from this list" + "hidden_other": "{{count}} plugins are hidden from this list", + "disabled_one": "1 plugin is disabled", + "disabled_other": "{{count}} plugins are disabled" }, "RemoteDebugging": { "remote_cef": { -- cgit v1.2.3