about summary refs log tree commit diff stats
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/background/background.js20
-rw-r--r--src/pages/options/index.js65
-rw-r--r--src/pages/options/new_release.html1
-rw-r--r--src/pages/options/widgets/general.js17
-rw-r--r--src/pages/options/widgets/services.pug7
5 files changed, 54 insertions, 56 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 1d1cbe46..22499579 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -9,6 +9,10 @@ window.browser = window.browser || window.chrome
 browser.runtime.onInstalled.addListener(async details => {
 	if (details.previousVersion != browser.runtime.getManifest().version) {
 		// ^Used to prevent this running when debugging with auto-reload
+		browser.tabs.create({
+			url: browser.runtime.getURL("/pages/options/new_release.html")
+		});
+
 		switch (details.reason) {
 			case "install":
 				browser.storage.local.get("options", async r => {
@@ -20,10 +24,10 @@ browser.runtime.onInstalled.addListener(async details => {
 				break
 			case "update":
 				switch (details.previousVersion) {
-					case "2.2.0":
-					case "2.2.1":
+					case "2.3.4":
 						browser.storage.local.get("options", async r => {
 							if (!r.options) {
+								await servicesHelper.backupOptions()
 								await generalHelper.initDefaults()
 								await servicesHelper.initDefaults()
 								await servicesHelper.upgradeOptions()
@@ -39,13 +43,6 @@ browser.runtime.onInstalled.addListener(async details => {
 
 let tabIdRedirects = {}
 
-browser.storage.onChanged.addListener(() => {
-	browser.storage.local.get(["embedTabs"], r => {
-		embedTabs = r.embedTabs
-	})
-})
-let embedTabs = {}
-
 // true == Always redirect, false == Never redirect, null/undefined == follow options for services
 browser.webRequest.onBeforeRequest.addListener(
 	details => {
@@ -89,11 +86,6 @@ browser.tabs.onRemoved.addListener(tabId => {
 		delete tabIdRedirects[tabId]
 		console.log("Removed tab " + tabId + " from tabIdRedirects")
 	}
-	if (embedTabs[tab] != undefined) {
-		delete embedTabs[tabId]
-		browser.storage.local.set(embedTabs)
-		console.log("Removed tab " + tabId + " from embedTabs")
-	}
 })
 
 browser.commands.onCommand.addListener(command => {
diff --git a/src/pages/options/index.js b/src/pages/options/index.js
index 68f45d6a..81cccb44 100644
--- a/src/pages/options/index.js
+++ b/src/pages/options/index.js
@@ -65,8 +65,10 @@ function loadPage(path) {
 			divs[service][option].addEventListener("change", () => {
 				browser.storage.local.get("options", r => {
 					let options = r.options
-					if (typeof config.services[service].options[option] == "boolean") options[service][option] = divs[service][option].checked
-					else options[service][option] = divs[service][option].value
+					if (typeof config.services[service].options[option] == "boolean")
+						options[service][option] = divs[service][option].checked
+					else
+						options[service][option] = divs[service][option].value
 					browser.storage.local.set({ options })
 					changeFrontendsSettings(service)
 				})
@@ -167,38 +169,41 @@ async function processDefaultCustomInstances(frontend, document) {
 
 function createList(frontend, networks, document, redirects, blacklist) {
 	for (const network in networks) {
-		if (redirects[frontend][network].length > 0) {
-			document.getElementById(frontend).getElementsByClassName(network)[0].getElementsByClassName("checklist")[0].innerHTML = [
-				`
-			<div class="some-block option-block">
-				<h4>${utils.camelCase(network)}</h4>
-			</div>
-			`,
-				...redirects[frontend][network]
-					.sort((a, b) =>
-						(blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b))
-						||
-						(blacklist.authenticate.includes(a) && !blacklist.authenticate.includes(b))
-					)
-					.map(x => {
-						const cloudflare = blacklist.cloudflare.includes(x) ? ' <span style="color:red;">cloudflare</span>' : ""
-						const authenticate = blacklist.authenticate.includes(x) ? ' <span style="color:orange;">authenticate</span>' : ""
-
-						let warnings = [cloudflare, authenticate].join(" ")
-						return `
-					<div>
-						<x>
-							<a href="${x}" target="_blank">${x}</a>${warnings}
-						</x>
-					  </div>`
-					}),
-				'<br>'
-			].join("\n<hr>\n")
+		if (redirects[frontend]) {
+			if (redirects[frontend][network].length > 0) {
+				document.getElementById(frontend).getElementsByClassName(network)[0].getElementsByClassName("checklist")[0].innerHTML = [
+					`
+				<div class="some-block option-block">
+					<h4>${utils.camelCase(network)}</h4>
+				</div>
+				`,
+					...redirects[frontend][network]
+						.sort((a, b) =>
+							(blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b))
+						)
+						.map(x => {
+							const cloudflare = blacklist.cloudflare.includes(x) ? ' <a target="_blank" href="https://libredirect.github.io/docs.html#instances"><span style="color:red;">cloudflare</span></a>' : ""
+
+							let warnings = [cloudflare].join(" ")
+							return `
+						<div>
+							<x>
+								<a href="${x}" target="_blank">${x}</a>${warnings}
+							</x>
+						  </div>`
+						}),
+					'<br>'
+				].join("\n<hr>\n")
+			}
+		} else {
+			document.getElementById(frontend).getElementsByClassName(network)[0].getElementsByClassName("checklist")[0].innerHTML =
+				`<div class="some-block option-block">No instances found...</div>`
+			break
 		}
+
 	}
 }
 
-
 const r = window.location.href.match(/#(.*)/)
 if (r) loadPage(r[1])
 else loadPage("general")
\ No newline at end of file
diff --git a/src/pages/options/new_release.html b/src/pages/options/new_release.html
new file mode 100644
index 00000000..953f61d4
--- /dev/null
+++ b/src/pages/options/new_release.html
@@ -0,0 +1 @@
+Many things happenned in the past months. LibRedirect has gone through some hard decisions; removed Unify Settings, Test Latency, 
\ No newline at end of file
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js
index 63938d78..f08d8313 100644
--- a/src/pages/options/widgets/general.js
+++ b/src/pages/options/widgets/general.js
@@ -57,19 +57,16 @@ importSettingsElement.addEventListener("change", () => {
 	reader.readAsText(file)
 	reader.onload = async () => {
 		const data = JSON.parse(reader.result)
-		if ("theme" in data && "disableImgur" in data && "imgurRedirects" in data) {
+		if (
+			"theme" in data
+			&& data.version == browser.runtime.getManifest().version
+		) {
 			browser.storage.local.clear(async () => {
 				await generalHelper.initDefaults()
 				await servicesHelper.initDefaults()
-				await servicesHelper.upgradeOptions()
-				location.reload()
-			})
-		} else if ("version" in data) {
-			let options = data
-			delete options.version
-			browser.storage.local.set({ options: data }, async () => {
-				await servicesHelper.processUpdate()
-				location.reload()
+				browser.storage.local.set({ options: data }, () => {
+					location.reload()
+				})
 			})
 		} else {
 			console.log("incompatible settings")
diff --git a/src/pages/options/widgets/services.pug b/src/pages/options/widgets/services.pug
index 22b8ab2d..5bda5d3f 100644
--- a/src/pages/options/widgets/services.pug
+++ b/src/pages/options/widgets/services.pug
@@ -49,7 +49,10 @@ each val, service in services
                                 svg(xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor")
                                     path(d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z")
 
-                    div(class="checklist custom-checklist")                    
+                    div(class="checklist custom-checklist")  
+
                     each val, network in networks
                         div(class=network)
-                            div(class="checklist")
\ No newline at end of file
+                            div(class="checklist")
+                                if (network == 'clearnet')
+                                    div(class="some-block option-block") Loading...
\ No newline at end of file