diff --git a/README.md b/README.md index 5bf1583..216e7f5 100644 --- a/README.md +++ b/README.md @@ -225,11 +225,10 @@ When file changes are detected in `src` or `addon`, the plugin will be automatic
💡 Steps to add this feature to an existing plugin -1. Add `if (reason == ADDON_DISABLE) {Services.obs.notifyObservers(null, "startupcache-invalidate", null);}` to `shutdown()` in the `addon/bootstrap.js` -2. Copy `scripts/reload.mjs` -3. Copy `reload`, `watch`, and `start-watch` commands in `package.json` -4. Run `npm install --save-dev chokidar-cli` -5. Done. +1. Copy `scripts/reload.mjs` +2. Copy `reload`, `watch`, and `start-watch` commands in `package.json` +3. Run `npm install --save-dev chokidar-cli` +4. Done.
diff --git a/addon/bootstrap.js b/addon/bootstrap.js index b7d2149..7045b97 100644 --- a/addon/bootstrap.js +++ b/addon/bootstrap.js @@ -106,9 +106,6 @@ function shutdown({ id, version, resourceURI, rootURI }, reason) { if (reason === APP_SHUTDOWN) { return; } - if (reason == ADDON_DISABLE) { - Services.obs.notifyObservers(null, "startupcache-invalidate", null); - } if (typeof Zotero === "undefined") { Zotero = Components.classes["@zotero.org/Zotero;1"].getService( Components.interfaces.nsISupports diff --git a/scripts/reload.mjs b/scripts/reload.mjs index 34e9cbd..f0dcbab 100644 --- a/scripts/reload.mjs +++ b/scripts/reload.mjs @@ -20,9 +20,7 @@ const script = ` (async () => { const { AddonManager } = ChromeUtils.import("resource://gre/modules/AddonManager.jsm"); const addon = await AddonManager.getAddonByID("${addonID}"); - addon.disable(); - await Zotero.Promise.delay(1000); - addon.enable(); + await addon.reload(); const progressWindow = new Zotero.ProgressWindow({ closeOnClick: true }); progressWindow.changeHeadline("${addonName} Hot Reload"); progressWindow.progress = new progressWindow.ItemProgress(