schoolbox web extension :)
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: disable settings reset for those that have reset already

* close #271

willow 623d6540 280a2b8a

+10 -4
bun.lockb

This is a binary file and will not be displayed.

+2
package.json
··· 11 11 "@sveltejs/vite-plugin-svelte": "^5.0.3", 12 12 "@tailwindcss/vite": "^4.1.7", 13 13 "@tsconfig/svelte": "^5.0.4", 14 + "@types/semver": "^7.7.0", 14 15 "@wxt-dev/module-svelte": "^2.0.3", 15 16 "eslint": "^9.27.0", 16 17 "eslint-plugin-svelte": "^3.9.0", ··· 20 21 "prettier": "^3.5.3", 21 22 "prettier-plugin-svelte": "^3.4.0", 22 23 "prettier-plugin-tailwindcss": "^0.6.11", 24 + "semver": "^7.7.2", 23 25 "svelte": "^5.33.1", 24 26 "svelte-check": "^4.2.1", 25 27 "svelte-spa-router": "^4.0.1",
+8 -4
src/entrypoints/background.ts
··· 1 + import semver from "semver"; 2 + 1 3 export default defineBackground(() => { 2 - browser.runtime.onInstalled.addListener(async ({ reason }) => { 4 + browser.runtime.onInstalled.addListener(async ({ reason, previousVersion }) => { 3 5 if (reason === "install") { 4 6 logger.info("[background] Opening wiki page after install"); 5 7 browser.tabs.create({ url: "https://schooltape.github.io/installed" }); ··· 14 16 await updated.storage.setValue(true); 15 17 updateIcon(); 16 18 17 - // hacky way of resetting the extension to fix migration issues 18 19 const manifest = browser.runtime.getManifest(); 19 - const version = manifest.version_name || manifest.version; 20 - if (version === "4.0.5") { 20 + const newVersion = manifest.version_name || manifest.version; 21 + 22 + // hacky way of resetting the extension to fix migration issues 23 + // new version is greater than or equal to v4.0.5 AND previous version was less than v4.0.5 24 + if (previousVersion && semver.gte(newVersion, "4.0.5") && semver.lt(previousVersion, "4.0.5")) { 21 25 await storage.clear("local"); 22 26 } 23 27