about summary refs log tree commit diff stats
path: root/src/pages/background
diff options
context:
space:
mode:
authorHygna <hygna@proton.me>2022-10-18 19:53:17 +0100
committerHygna <hygna@proton.me>2022-10-18 19:55:13 +0100
commita4688fdb3a5afb3a1fb30bd061ba90c0df7f5f8d (patch)
tree333963acb0dd2dcbe25fac8f5b3e13731bf2fe3a /src/pages/background
parentAdded new cloutube instance, made reddit instance use a positive lookahead, a... (diff)
downloadlibredirect-a4688fdb3a5afb3a1fb30bd061ba90c0df7f5f8d.zip
Yet another attempt to fix options resetting
Diffstat (limited to 'src/pages/background')
-rw-r--r--src/pages/background/background.js39
1 files changed, 16 insertions, 23 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index ad79323f..d807fa0b 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -6,30 +6,23 @@ import servicesHelper from "../../assets/javascripts/services.js"
 
 window.browser = window.browser || window.chrome
 
-function initDefaults() {
-	browser.storage.local.clear(() => {
+browser.runtime.onInstalled.addListener(details => {
+	if (details.previousVersion != browser.runtime.getManifest().version) {
+		// ^Used to prevent this running when debugging with auto-reload
 		fetch("/instances/blacklist.json")
 			.then(response => response.text())
 			.then(async data => {
 				browser.storage.local.set({ blacklists: JSON.parse(data) }, async () => {
-					await generalHelper.initDefaults()
-					await servicesHelper.initDefaults()
-				})
-			})
-	})
-}
-
-browser.runtime.onInstalled.addListener(details => {
-	if (details.previousVersion != browser.runtime.getManifest().version) {
-		switch (details.reason) {
-			case "install":
-				initDefaults()
-				break
-			case "update":
-				fetch("/instances/blacklist.json")
-					.then(response => response.text())
-					.then(async data => {
-						browser.storage.local.set({ blacklists: JSON.parse(data) }, async () => {
+					switch (details.reason) {
+						case "install":
+							browser.storage.local.get("options", async r => {
+								if (!r.options) {
+									await generalHelper.initDefaults()
+									await servicesHelper.initDefaults()
+								}
+							})
+							break
+						case "update":
 							switch (details.previousVersion) {
 								case "2.2.0":
 								case "2.2.1":
@@ -46,9 +39,9 @@ browser.runtime.onInstalled.addListener(details => {
 									await servicesHelper.processUpdate()
 									await servicesHelper.processEnabledInstanceList()
 							}
-						})
-					})
-		}
+					}
+				})
+			})
 	}
 })