diff --git a/src/SEQTA.ts b/src/SEQTA.ts index 567ddb99..c0640c08 100644 --- a/src/SEQTA.ts +++ b/src/SEQTA.ts @@ -1,4 +1,5 @@ import { + initializeSettingsState, settingsState, } from "@/seqta/utils/listeners/SettingsState" import documentLoadCSS from "@/css/documentload.scss?inline" @@ -38,6 +39,8 @@ async function init() { icon.href = icon48 // Change the icon try { + await initializeSettingsState() + if (typeof settingsState.onoff === "undefined") { browser.runtime.sendMessage({ type: "setDefaultStorage" }) } diff --git a/src/seqta/main.ts b/src/seqta/main.ts index 647172bd..af82f324 100644 --- a/src/seqta/main.ts +++ b/src/seqta/main.ts @@ -3,7 +3,6 @@ import browser from "webextension-polyfill" // Internal utilities and functions import { - initializeSettingsState, settingsState, } from "@/seqta/utils/listeners/SettingsState" @@ -16,8 +15,6 @@ import injectedCSS from "@/css/injected.scss?inline" export async function main() { return new Promise(async (resolve, reject) => { try { - await initializeSettingsState() - if (settingsState.onoff) { injectPageState() diff --git a/src/seqta/utils/listeners/SettingsState.ts b/src/seqta/utils/listeners/SettingsState.ts index a2f6968f..04b42a7f 100644 --- a/src/seqta/utils/listeners/SettingsState.ts +++ b/src/seqta/utils/listeners/SettingsState.ts @@ -70,7 +70,9 @@ class StorageManager { private async loadFromStorage(): Promise { const result = await browser.storage.local.get(); - this.data = { ...this.data, ...result }; + Object.entries(result).forEach(([key, value]) => { + Reflect.set(this.data, key, value); + }); } private async saveToStorage(): Promise {