about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorHygna <hygna@proton.me>2022-10-21 19:24:55 +0100
committerHygna <hygna@proton.me>2022-10-21 19:25:50 +0100
commit51bb4e1557b892f94132131aa6d19e5cb2b148d0 (patch)
tree5b48f4fa91293340a0c9c0562d07bd2858d4b8ac /src
parentBump versiom 2.3.1 => 2.3.2 (diff)
downloadlibredirect-51bb4e1557b892f94132131aa6d19e5cb2b148d0.zip
Fixed redirect toggles set to false being reset
Closes https://github.com/libredirect/libredirect/issues/499
Diffstat (limited to 'src')
-rw-r--r--src/assets/javascripts/services.js40
-rw-r--r--src/config/config.json7
-rw-r--r--src/pages/background/background.js1
3 files changed, 16 insertions, 32 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 7b73d9d5..8aa044ea 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -716,7 +716,11 @@ function processUpdate() {
 							for (const service in config.services) {

 								if (!options[service]) options[service] = {}

 								if (config.services[service].targets == "datajson") targets[service] = redirects[service]

-								for (const defaultOption in config.services[service].options) if (!options[service][defaultOption]) options[service][defaultOption] = config.services[service].options[defaultOption]

+								for (const defaultOption in config.services[service].options) {

+									if (options[service][defaultOption] === undefined) {

+										options[service][defaultOption] = config.services[service].options[defaultOption]

+									}

+								}

 								for (const frontend in config.services[service].frontends) {

 									if (config.services[service].frontends[frontend].instanceList) {

 										if (!options[frontend]) options[frontend] = {}

@@ -733,6 +737,11 @@ function processUpdate() {
 														}

 													}

 												}

+											} else {

+												for (const instance of options[frontend][network].enabled) {

+													let i = redirects[frontend][network].indexOf(instance)

+													if (i < 0) options[frontend][network].enabled.splice(i, 1)

+												}

 											}

 										}

 									}

@@ -784,34 +793,6 @@ function modifyContentSecurityPolicy(details) {
 	}

 }

 

-function processEnabledInstanceList() {

-	return new Promise(resolve => {

-		fetch("/config/config.json")

-			.then(response => response.text())

-			.then(configData => {

-				const config = JSON.parse(configData)

-				browser.storage.local.get(["redirects", "options"], r => {

-					let options = r.options

-					for (const service in config.services) {

-						for (const frontend in config.services[service].frontends) {

-							if (config.services[service].frontends[frontend].instanceList) {

-								for (const network in config.networks) {

-									for (const instance of options[frontend][network].enabled) {

-										let i = redirects[frontend][network].indexOf(instance)

-										if (i < 0) options[frontend][network].enabled.splice(i, 1)

-									}

-								}

-							}

-						}

-					}

-					browser.storage.local.set({ options }, () => {

-						resolve()

-					})

-				})

-			})

-	})

-}

-

 export default {

 	redirect,

 	computeService,

@@ -823,5 +804,4 @@ export default {
 	upgradeOptions,

 	processUpdate,

 	modifyContentSecurityPolicy,

-	processEnabledInstanceList,

 }

diff --git a/src/config/config.json b/src/config/config.json
index 5f70b85c..d9463206 100644
--- a/src/config/config.json
+++ b/src/config/config.json
@@ -163,7 +163,12 @@
 					"instanceList": true

 				}

 			},

-			"targets": ["^https?:\\/{2}(www\\.|mobile\\.|)twitter\\.com(\\/|$)", "^https?:\\/{2}(pbs\\.|video\\.|)twimg\\.com(\\/|$)", "^https?:\\/{2}platform\\.twitter\\.com/embed(\\/|$)", "^https?:\\/{2}t\\.co(\\/|$)"],

+			"targets": [

+				"^https?:\\/{2}(www\\.|mobile\\.|)twitter\\.com(\\/|$)",

+				"^https?:\\/{2}(pbs\\.|video\\.|)twimg\\.com(\\/|$)",

+				"^https?:\\/{2}platform\\.twitter\\.com/embed(\\/|$)",

+				"^https?:\\/{2}t\\.co(\\/|$)"

+			],

 			"name": "Twitter",

 			"options": {

 				"enabled": true,

diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index d807fa0b..bed0055d 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -37,7 +37,6 @@ browser.runtime.onInstalled.addListener(details => {
 									break
 								default:
 									await servicesHelper.processUpdate()
-									await servicesHelper.processEnabledInstanceList()
 							}
 					}
 				})