Sfoglia il codice sorgente

fix(plugin): strategy to validate plugin id duplicated

charlie 3 anni fa
parent
commit
7c6c829d87
2 ha cambiato i file con 5 aggiunte e 4 eliminazioni
  1. 2 2
      libs/src/LSPlugin.core.ts
  2. 3 2
      src/main/frontend/handler/plugin.cljs

+ 2 - 2
libs/src/LSPlugin.core.ts

@@ -634,8 +634,8 @@ class PluginLocal extends EventEmitter<'loaded'
 
     // Validate id
     const { registeredPlugins, isRegistering } = this._ctx
-    if (isRegistering && registeredPlugins.has(logseq.id)) {
-      throw new ExistedImportedPluginPackageError('prepare package Error')
+    if (isRegistering && registeredPlugins.has(this.id)) {
+      throw new ExistedImportedPluginPackageError('Registered plugin package Error')
     }
 
     return async () => {

+ 3 - 2
src/main/frontend/handler/plugin.cljs

@@ -233,8 +233,9 @@
     (js/window.apis.addListener channel listener)))
 
 (defn register-plugin
-  [pl]
-  (swap! state/state update-in [:plugin/installed-plugins] assoc (keyword (:id pl)) pl))
+  [plugin-metadata]
+  (when-let [pid (keyword (:id plugin-metadata))]
+    (swap! state/state update-in [:plugin/installed-plugins] assoc pid plugin-metadata)))
 
 (defn host-mounted!
   []