aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
authorHygna <hygna@proton.me>2022-10-17 16:32:19 +0100
committerHygna <hygna@proton.me>2022-10-17 16:33:57 +0100
commitb5e0a297d83035c371758131fd0182afa2115ff0 (patch)
tree01398606dcc09422dbbe03f98cbb5e799d182f5a /src/assets
parentTranslated using Weblate (Galician) (diff)
downloadlibredirect-b5e0a297d83035c371758131fd0182afa2115ff0.zip
Remove instances not in the redirects list from the enabled list
Closes https://github.com/libredirect/libredirect/issues/489
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/services.js29
-rw-r--r--src/assets/javascripts/utils.js3
2 files changed, 31 insertions, 1 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 92d891d7..7b73d9d5 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -784,6 +784,34 @@ 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,
@@ -795,4 +823,5 @@ export default {
upgradeOptions,
processUpdate,
modifyContentSecurityPolicy,
+ processEnabledInstanceList,
}
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js
index 1f09435c..66a439bf 100644
--- a/src/assets/javascripts/utils.js
+++ b/src/assets/javascripts/utils.js
@@ -46,7 +46,8 @@ function updateInstances() {
await initBlackList()
const instances = JSON.parse(http.responseText)
- servicesHelper.setRedirects(instances)
+ await servicesHelper.setRedirects(instances)
+ await servicesHelper.processEnabledInstanceList()
console.info("Successfully updated Instances")
resolve(true)