From ecb9675e9c023733bbce59c7b8241beced71e551 Mon Sep 17 00:00:00 2001 From: bbedward Date: Thu, 9 Oct 2025 13:51:43 -0400 Subject: [PATCH] Try more plugin loading things --- Modules/Plugins/PluginSettings.qml | 8 ++++---- Services/PluginService.qml | 10 ++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Modules/Plugins/PluginSettings.qml b/Modules/Plugins/PluginSettings.qml index 282a9ea5..99db4461 100644 --- a/Modules/Plugins/PluginSettings.qml +++ b/Modules/Plugins/PluginSettings.qml @@ -19,10 +19,10 @@ Item { readonly property bool hasPermission: { if (!pluginService || !pluginId) return true - const plugin = pluginService.availablePlugins[pluginId] - if (!plugin) return false - const permissions = plugin.permissions || [] - console.log("PluginSettings: Plugin", pluginId, "permissions:", permissions) + const allPlugins = pluginService.availablePlugins + const plugin = allPlugins[pluginId] + if (!plugin) return true + const permissions = Array.isArray(plugin.permissions) ? plugin.permissions : [] return permissions.indexOf("settings_write") !== -1 } diff --git a/Services/PluginService.qml b/Services/PluginService.qml index 18954c23..be834066 100644 --- a/Services/PluginService.qml +++ b/Services/PluginService.qml @@ -159,6 +159,16 @@ Singleton { const info = {} for (const k in manifest) info[k] = manifest[k] + + let perms = manifest.permissions + if (typeof perms === "string") { + perms = perms.split(/\s*,\s*/) + } + if (!Array.isArray(perms)) { + perms = [] + } + info.permissions = perms.map(p => String(p).trim()) + info.manifestPath = absPath info.pluginDirectory = dir info.componentPath = dir + "/" + comp