From f454ced9490309f37199c2a47dcd8cbc7e976798 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Wed, 7 Dec 2022 10:51:43 +0300 Subject: Removed LatencyTest, AutoRedirect, Unify, DisableInstance --- src/pages/background/background.js | 55 +----------------- src/pages/errors/instance_offline.html | 39 ------------- src/pages/errors/instance_offline.js | 20 ------- src/pages/options/widgets/general.ejs | 31 ---------- src/pages/options/widgets/general.js | 36 ------------ src/pages/options/widgets/services.ejs | 10 ---- src/pages/options/widgets/services.js | 1 - src/pages/popup/popup.ejs | 102 ++++++++++++++++----------------- src/pages/popup/popup.js | 43 -------------- 9 files changed, 51 insertions(+), 286 deletions(-) delete mode 100644 src/pages/errors/instance_offline.html delete mode 100644 src/pages/errors/instance_offline.js (limited to 'src/pages') diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 3a695048..2db6dc0d 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -89,47 +89,9 @@ browser.tabs.onRemoved.addListener(tabId => { } }) -async function redirectOfflineInstance(url, tabId) { - let newUrl = await servicesHelper.switchInstance(url, true) - - if (newUrl) { - if (counter >= 5) { - browser.tabs.update(tabId, { - url: `/pages/errors/instance_offline.html?url=${encodeURIComponent(newUrl)}`, - }) - counter = 0 - } else { - browser.tabs.update(tabId, { url: newUrl }) - counter++ - } - } -} -let counter = 0 - -function isAutoRedirect() { - return new Promise(resolve => browser.storage.local.get("options", r => resolve(r.options.autoRedirect == true))) -} - -browser.webRequest.onResponseStarted.addListener( - async details => { - if (!(await isAutoRedirect())) return null - if (details.type == "main_frame" && details.statusCode >= 500) redirectOfflineInstance(new URL(details.url), details.tabId) - }, - { urls: [""] } -) - -browser.webRequest.onErrorOccurred.addListener( - async details => { - if (!(await isAutoRedirect())) return - if (details.type == "main_frame") redirectOfflineInstance(new URL(details.url), details.tabId) - }, - { urls: [""] } -) - browser.commands.onCommand.addListener(command => { if (command === "switchInstance") utils.switchInstance() else if (command == "copyRaw") utils.copyRaw() - else if (command == "unify") utils.unify() }) browser.contextMenus.create({ @@ -150,12 +112,6 @@ browser.contextMenus.create({ contexts: ["browser_action"], }) -browser.contextMenus.create({ - id: "unify", - title: browser.i18n.getMessage("unifySettings"), - contexts: ["browser_action"], -}) - try { browser.contextMenus.create({ id: "toggleTab", @@ -207,10 +163,6 @@ browser.contextMenus.onClicked.addListener((info, tab) => { utils.copyRaw() resolve() return - case "unify": - utils.unify() - resolve() - return case "toggleTab": if (tabIdRedirects[tab.id] != undefined) { tabIdRedirects[tab.id] = !tabIdRedirects[tab.id] @@ -253,9 +205,4 @@ browser.webRequest.onHeadersReceived.addListener( }, { urls: [""] }, ["blocking", "responseHeaders"] -) - -browser.runtime.onMessage.addListener((message, sender, sendResponse) => { - if (message.function === "unify") utils.unify(false).then(r => sendResponse({ response: r })) - return true -}) +) \ No newline at end of file diff --git a/src/pages/errors/instance_offline.html b/src/pages/errors/instance_offline.html deleted file mode 100644 index a74caec2..00000000 --- a/src/pages/errors/instance_offline.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Instance is offline - - - - - -
-

- This instance is offline, you'll be redirected after - 2 seconds -

- -
- - - - diff --git a/src/pages/errors/instance_offline.js b/src/pages/errors/instance_offline.js deleted file mode 100644 index fadb7681..00000000 --- a/src/pages/errors/instance_offline.js +++ /dev/null @@ -1,20 +0,0 @@ -import localise from "../../assets/javascripts/localise.js" - -const params = new Proxy(new URLSearchParams(window.location.search), { - get: (searchParams, prop) => searchParams.get(prop), -}) - -let number = document.getElementById("number") -setTimeout(() => (number.innerHTML = "1"), 1000) -setTimeout(() => { - number.innerHTML = "0" - if (!isCanceled) window.location = params.url -}, 2000) - -let isCanceled = false -document.getElementById("cancel").addEventListener("click", () => { - isCanceled = true - document.getElementById("message").innerHTML = browser.i18n.getMessage("redirectionCanceled") -}) - -localise.localisePage() diff --git a/src/pages/options/widgets/general.ejs b/src/pages/options/widgets/general.ejs index fef052df..6bb15bca 100644 --- a/src/pages/options/widgets/general.ejs +++ b/src/pages/options/widgets/general.ejs @@ -13,37 +13,6 @@ -
-

Network

- -
- -
-
-

Fallback to clearnet if no instances are available for the current network

- -
-
- -
-

- -
- -
-
-

Latency Threshold

- - -
-
- -
-

Excluded from redirecting

diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js index d55f8f0d..a8eb11fb 100644 --- a/src/pages/options/widgets/general.js +++ b/src/pages/options/widgets/general.js @@ -121,37 +121,12 @@ resetSettings.addEventListener("click", async () => { }) }) -let autoRedirectElement = document.getElementById("auto-redirect") -autoRedirectElement.addEventListener("change", event => { - setOption("autoRedirect", "checkbox", event) -}) - let themeElement = document.getElementById("theme") themeElement.addEventListener("change", event => { setOption("theme", "select", event) location.reload() }) -let networkElement = document.getElementById("network") -networkElement.addEventListener("change", event => { - setOption("network", "select", event) - location.reload() -}) - -let networkFallbackCheckbox = document.getElementById("network-fallback-checkbox") -networkFallbackCheckbox.addEventListener("change", event => { - setOption("networkFallback", "checkbox", event) -}) - -let latencyOutput = document.getElementById("latency-output") -let latencyInput = document.getElementById("latency-input") -latencyInput.addEventListener("change", event => { - setOption("latencyThreshold", "range", event) -}) -latencyInput.addEventListener("input", event => { - latencyOutput.value = event.target.value -}) - let nameCustomInstanceInput = document.getElementById("exceptions-custom-instance") let instanceTypeElement = document.getElementById("exceptions-custom-instance-type") let instanceType = "url" @@ -173,20 +148,9 @@ for (const service in config.services) { } browser.storage.local.get("options", r => { - autoRedirectElement.checked = r.options.autoRedirect themeElement.value = r.options.theme - networkElement.value = r.options.network - networkFallbackCheckbox.checked = r.options.networkFallback - latencyOutput.value = r.options.latencyThreshold let options = r.options - //let networkFallbackElement = document.getElementById("network-fallback") - if (networkElement.value == "clearnet") { - networkFallbackCheckbox.disabled = true - } else { - networkFallbackCheckbox.disabled = false - } - instanceTypeElement.addEventListener("change", event => { instanceType = event.target.options[instanceTypeElement.selectedIndex].value if (instanceType == "url") { diff --git a/src/pages/options/widgets/services.ejs b/src/pages/options/widgets/services.ejs index 109f6689..ea93b1ce 100644 --- a/src/pages/options/widgets/services.ejs +++ b/src/pages/options/widgets/services.ejs @@ -44,16 +44,6 @@ <% for (const frontend in config.services[service].frontends) { -%> <% if (config.services[service].frontends[frontend].instanceList) { _%>
<% for (const network in config.networks) { -%> -
- - -

Default Instances

diff --git a/src/pages/options/widgets/services.js b/src/pages/options/widgets/services.js index 12904130..351d45e5 100644 --- a/src/pages/options/widgets/services.js +++ b/src/pages/options/widgets/services.js @@ -108,7 +108,6 @@ for (const service in config.services) { for (const network in config.networks) { utils.processDefaultCustomInstances(service, frontend, network, document) } - utils.latency(service, frontend, document, location) } } } diff --git a/src/pages/popup/popup.ejs b/src/pages/popup/popup.ejs index e6cc6fca..72c96d60 100644 --- a/src/pages/popup/popup.ejs +++ b/src/pages/popup/popup.ejs @@ -1,55 +1,53 @@ - - - - - - - -
- - <%- include('src/pages/widgets/switches', {services: services}) -%> -
-
-
+ + + + + + + + + +
+ <%- include('src/pages/widgets/switches', {services: services}) -%> +
+
-
- <%- include('src/pages/widgets/switches', {services: services}) -%> -
-
- - - - - -
- - - - +
+
+ <%- include('src/pages/widgets/switches', {services: services}) -%> +
+
+ + + + +
+ + + + + \ No newline at end of file diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js index 88c1433b..1ac804d0 100644 --- a/src/pages/popup/popup.js +++ b/src/pages/popup/popup.js @@ -39,7 +39,6 @@ const currSite = document.getElementsByClassName("current_site")[0] function setDivs() { return new Promise(resolve => { - divs.instance = document.getElementById("instance") for (const service in config.services) { divs[service] = {} divs[service].toggle = {} @@ -58,7 +57,6 @@ const currentSiteIsFrontend = document.getElementById("current_site_divider") browser.storage.local.get(["options", "redirects"], r => { browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - document.getElementById("instance-div").classList.add("hide") for (const service in config.services) { if (!r.options.popupServices.includes(service)) allSites.getElementsByClassName(service)[0].classList.add("hide") else allSites.getElementsByClassName(service)[0].classList.remove("hide") @@ -75,7 +73,6 @@ browser.storage.local.get(["options", "redirects"], r => { url = new URL(tabs[0].url) } catch { currentSiteIsFrontend.classList.add("hide") - document.getElementById("unify_div").style.display = "none" return } @@ -89,51 +86,11 @@ browser.storage.local.get(["options", "redirects"], r => { service = service[0] let isCustom = false for (const network in config.networks) if (r.options[frontend][network].custom.indexOf(instance) > -1) isCustom = true - if (!isCustom) { - divs.instance.innerHTML = instance.replace(/https?:\/{2}/, "") - let tmp - let instanceNetwork - for (const network in config.networks) { - tmp = r.redirects[frontend][network].indexOf(instance) - if (tmp > -1) { - const instanceDiv = document.getElementById("instance-enabled") - tmp = r.options[frontend][network].enabled.indexOf(instance) - if (tmp > -1) instanceDiv.checked = true - else instanceDiv.checked = false - instanceNetwork = network - instanceDiv.addEventListener("change", () => { - browser.storage.local.get("options", r => { - // Although options would be available in this context, it is fetched again to make sure it is up to date - let options = r.options - if (instanceDiv.checked) options[frontend][instanceNetwork].enabled.push(instance) - else options[frontend][instanceNetwork].enabled.splice(options[frontend][instanceNetwork].enabled.indexOf(instance), 1) - browser.storage.local.set({ options }) - }) - }) - break - } - } - document.getElementById("instance-div").classList.remove("hide") - } } divs[service].current.classList.remove("hide") divs[service].all.classList.add("hide") - if (frontend && config.services[service].frontends[frontend].preferences && !config.services[service].frontends[frontend].preferences.token) { - const unify = document.getElementById("unify") - const textElement = document.getElementById("unify").getElementsByTagName("h4")[0] - unify.addEventListener("click", () => { - const oldHtml = textElement.innerHTML - textElement.innerHTML = "..." - browser.runtime.sendMessage({ function: "unify" }, response => { - if (response && response.response) textElement.innerHTML = oldHtml - }) - }) - } else { - document.getElementById("unify_div").style.display = "none" - } } else { currentSiteIsFrontend.classList.add("hide") - document.getElementById("unify_div").style.display = "none" } }) }) -- cgit 1.4.1