about summary refs log tree commit diff stats
path: root/src/assets
diff options
context:
space:
mode:
authorHygna <hygna@proton.me>2022-09-25 19:24:40 +0100
committerHygna <hygna@proton.me>2022-09-25 19:24:40 +0100
commit01bb150213189d9131c4a68a462ce92e68ce6bbf (patch)
tree8ffa1b5f6f7a14e3e8a58823ee12770158a7a2fe /src/assets
parentStarted work on instance switching (diff)
downloadlibredirect-01bb150213189d9131c4a68a462ce92e68ce6bbf.zip
Finished instance fetching
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/services.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 286a6eda..309d5528 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -19,7 +19,8 @@ async function getConfig() {
 }

 

 function init() {

-	return new Promise(resolve => {

+	return new Promise(async resolve => {

+		await getConfig()

 		browser.storage.local.get(["network", "networkFallback", "redirects"], r => {

 			options.network = r.network

 			options.networkFallback = r.networkFallback

@@ -49,6 +50,7 @@ function init() {
 }

 

 function all(service) {

+	init()

 	let tmp = []

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

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

@@ -458,8 +460,8 @@ function computeService(url) {
 

 function switchInstance(url) {

 	return new Promise(async resolve => {

-		await getConfig()

 		await init()

+		await getConfig()

 		for (const service in config.services) {

 			if (!options[service].enabled) continue

 			const protocolHost = utils.protocolHost(url)

@@ -481,8 +483,10 @@ function switchInstance(url) {
 			const randomInstance = utils.getRandomInstance(instancesList)

 			const oldUrl = `${oldInstance}${url.pathname}${url.search}`

 			// This is to make instance switching work when the instance depends on the pathname, eg https://darmarit.org/searx

-			resolve(oldUrl.replace(oldUrl, randomInstance))

+			// Doesn't work because of .includes array method, not a top priotiry atm

+			resolve(oldUrl.replace(oldInstance, randomInstance))

 		}

+		resolve()

 	})

 }

 

@@ -491,4 +495,5 @@ export default {
 	initDefaults,

 	computeService,

 	switchInstance,

+	init,

 }