From 1ce6a16686b9dc7c0624a9f586ec77ff8267a04b Mon Sep 17 00:00:00 2001 From: Hygna Date: Thu, 20 Oct 2022 16:25:17 +0100 Subject: Fixed all settings changed except the last one set not saving (for real this time) Closes https://github.com/libredirect/libredirect/issues/473 --- src/pages/options/widgets/services.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/pages/options') diff --git a/src/pages/options/widgets/services.js b/src/pages/options/widgets/services.js index eb7f1ba7..37385faa 100644 --- a/src/pages/options/widgets/services.js +++ b/src/pages/options/widgets/services.js @@ -85,10 +85,13 @@ for (const service in config.services) { else divs[service][option].value = options[service][option] divs[service][option].addEventListener("change", () => { - if (typeof config.services[service].options[option] == "boolean") options[service][option] = divs[service][option].checked - else options[service][option] = divs[service][option].value - browser.storage.local.set({ options }) - changeFrontendsSettings(service) + browser.storage.local.get("options", r => { + let options = r.options + if (typeof config.services[service].options[option] == "boolean") options[service][option] = divs[service][option].checked + else options[service][option] = divs[service][option].value + browser.storage.local.set({ options }) + changeFrontendsSettings(service) + }) }) } -- cgit 1.4.1