···11+import semver from "semver";
22+13export default defineBackground(() => {
22- browser.runtime.onInstalled.addListener(async ({ reason }) => {
44+ browser.runtime.onInstalled.addListener(async ({ reason, previousVersion }) => {
35 if (reason === "install") {
46 logger.info("[background] Opening wiki page after install");
57 browser.tabs.create({ url: "https://schooltape.github.io/installed" });
···1416 await updated.storage.setValue(true);
1517 updateIcon();
16181717- // hacky way of resetting the extension to fix migration issues
1819 const manifest = browser.runtime.getManifest();
1919- const version = manifest.version_name || manifest.version;
2020- if (version === "4.0.5") {
2020+ const newVersion = manifest.version_name || manifest.version;
2121+2222+ // hacky way of resetting the extension to fix migration issues
2323+ // new version is greater than or equal to v4.0.5 AND previous version was less than v4.0.5
2424+ if (previousVersion && semver.gte(newVersion, "4.0.5") && semver.lt(previousVersion, "4.0.5")) {
2125 await storage.clear("local");
2226 }
2327