about summary refs log tree commit diff stats
path: root/src/assets/javascripts
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2023-01-08 11:05:45 +0300
committerManeraKai <manerakai@protonmail.com>2023-01-08 11:05:45 +0300
commit486b92af5faa28f2535b245d2dbfe0a34ea2dd30 (patch)
tree60448730528babe1d5cb05a075516c7358fd4129 /src/assets/javascripts
parentRedirect all embeds in tab to same instance https://github.com/libredirect/li... (diff)
downloadlibredirect-486b92af5faa28f2535b245d2dbfe0a34ea2dd30.zip
Optimized the getList and getBlacklist functions
Diffstat (limited to 'src/assets/javascripts')
-rw-r--r--src/assets/javascripts/services.js4
-rw-r--r--src/assets/javascripts/utils.js31
2 files changed, 25 insertions, 10 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 988f6348..0b4e495a 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -624,7 +624,7 @@ function processUpdate() {
 				fetch("/config.json")
 					.then(response => response.text())
 					.then(configData => {
-						browser.storage.local.get(["options", "targets"], r => {
+						browser.storage.local.get(["options", "targets"], async r => {
 							let redirects = JSON.parse(data)
 							let options = r.options
 							let targets = r.targets
@@ -647,7 +647,7 @@ function processUpdate() {
 											if (!options[frontend]) {
 												options[frontend] = []
 												if (network == "clearnet") {
-													for (const blacklist of getBlacklist()) {
+													for (const blacklist of await utils.getBlacklist()) {
 														for (const instance of blacklist) {
 															let i = options[frontend].clearnet.enabled.indexOf(instance)
 															if (i > -1) options[frontend].clearnet.enabled.splice(i, 1)
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js
index 6e6b6707..86b9b402 100644
--- a/src/assets/javascripts/utils.js
+++ b/src/assets/javascripts/utils.js
@@ -71,17 +71,32 @@ function switchInstance(test) {
 }
 
 function getBlacklist() {
-	let http = new XMLHttpRequest()
-	http.open("GET", "https://codeberg.org/LibRedirect/libredirect/raw/branch/master/src/instances/blacklist.json", false)
-	http.send(null)
-	return JSON.parse(http.responseText)
+	return new Promise(resolve => {
+		const http = new XMLHttpRequest()
+		http.open("GET", "https://codeberg.org/LibRedirect/libredirect/raw/branch/master/src/instances/blacklist.json", true)
+		http.onreadystatechange = () => {
+			if (http.status === 200 && http.readyState == XMLHttpRequest.DONE) {
+				resolve(JSON.parse(http.responseText))
+				return
+			}
+		}
+		http.send(null)
+	})
 }
 
 function getList() {
-	let http = new XMLHttpRequest()
-	http.open("GET", "https://codeberg.org/LibRedirect/libredirect/raw/branch/master/src/instances/data.json", false)
-	http.send(null)
-	return JSON.parse(http.responseText)
+	return new Promise(resolve => {
+		const http = new XMLHttpRequest()
+		http.open("GET", "https://codeberg.org/LibRedirect/libredirect/raw/branch/master/src/instances/data.json", true)
+		http.onreadystatechange = () => {
+			if (http.status === 200 && http.readyState == XMLHttpRequest.DONE) {
+				resolve(JSON.parse(http.responseText))
+				return
+			}
+		}
+		http.send(null)
+	})
+
 }
 
 export default {