From c00d512193e328bd4bfa483f03cf8c231088d5ba Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 5 Feb 2026 15:47:32 +0100 Subject: [PATCH] :sparkles: Add the concept of version to plugins And make mcp plugin version 2 --- frontend/src/app/main/ui/workspace/plugins.cljs | 6 +++--- frontend/src/app/plugins/register.cljs | 11 ++++++++--- mcp/packages/plugin/public/manifest.json | 1 + 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/plugins.cljs b/frontend/src/app/main/ui/workspace/plugins.cljs index 364a484ecd..ca315963ea 100644 --- a/frontend/src/app/main/ui/workspace/plugins.cljs +++ b/frontend/src/app/main/ui/workspace/plugins.cljs @@ -95,10 +95,10 @@ [] (let [plugins-state* (mf/use-state #(preg/plugins-list)) - plugins-state @plugins-state* + plugins-state (deref plugins-state*) - plugin-url* (mf/use-state "") - plugin-url @plugin-url* + plugin-url* (mf/use-state "") + plugin-url (deref plugin-url*) fetching-manifest? (mf/use-state false) diff --git a/frontend/src/app/plugins/register.cljs b/frontend/src/app/plugins/register.cljs index 154cc95a87..1bf1a02f33 100644 --- a/frontend/src/app/plugins/register.cljs +++ b/frontend/src/app/plugins/register.cljs @@ -38,6 +38,7 @@ desc (obj/get manifest "description") code (obj/get manifest "code") icon (obj/get manifest "icon") + vers (d/nilv (obj/get manifest "version") 1) permissions (into #{} (obj/get manifest "permissions" [])) permissions @@ -55,9 +56,13 @@ (u/uri plugin-url) origin - (-> plugin-url - (u/join ".") - (str)) + (if (= vers 1) + (-> plugin-url + (assoc :path "/") + (str)) + (-> plugin-url + (u/join ".") + (str))) prev-plugin (->> (:data @registry) diff --git a/mcp/packages/plugin/public/manifest.json b/mcp/packages/plugin/public/manifest.json index 506021c29e..e2a769c7f8 100644 --- a/mcp/packages/plugin/public/manifest.json +++ b/mcp/packages/plugin/public/manifest.json @@ -1,6 +1,7 @@ { "name": "Penpot MCP Plugin", "code": "plugin.js", + "version": 2, "description": "This plugin enables interaction with the Penpot MCP server", "permissions": ["content:read", "content:write", "library:read", "library:write", "comment:read", "comment:write"] }