aboutsummaryrefslogtreecommitdiffstats
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.js63
-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, 53 insertions, 55 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>' : ""
+ 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, authenticate].join(" ")
- return `
- <div>
- <x>
- <a href="${x}" target="_blank">${x}</a>${warnings}
- </x>
- </div>`
- }),
- '<br>'
- ].join("\n<hr>\n")
+ 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