From d52a59ae48b974c9d5779756b8704e4d737858ab Mon Sep 17 00:00:00 2001 From: SethBurkart123 Date: Thu, 3 Apr 2025 22:24:25 +1100 Subject: [PATCH] fix: storage always resetting to default --- src/SEQTA.ts | 3 +++ src/seqta/main.ts | 3 --- src/seqta/utils/listeners/SettingsState.ts | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) 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 {