diff options
| author | Hygna <hygna@proton.me> | 2022-10-03 06:44:49 +0100 |
|---|---|---|
| committer | Hygna <hygna@proton.me> | 2022-10-03 06:44:49 +0100 |
| commit | c1af086c2756f401d8403b259e29f1354c5e001f (patch) | |
| tree | d1bc11a485199bc80314ea7719af75dfac0529d6 /src | |
| parent | Corrected minor mistake (diff) | |
| download | libredirect-c1af086c2756f401d8403b259e29f1354c5e001f.zip | |
Finished options upgrading
Diffstat (limited to 'src')
| -rw-r--r-- | src/_locales/filter.py | 8 | ||||
| -rw-r--r-- | src/assets/images/sendFiles-icon.svg (renamed from src/assets/images/uploadFiles-icon.svg) | 0 | ||||
| -rw-r--r-- | src/assets/javascripts/services.js | 269 | ||||
| -rw-r--r-- | src/assets/javascripts/utils.js | 8 | ||||
| -rw-r--r-- | src/config/config.json | 5 | ||||
| -rw-r--r-- | src/instances/get_instances.py | 1 | ||||
| -rw-r--r-- | src/pages/options/index.html | 17 | ||||
| -rw-r--r-- | src/pages/options/widgets/general.js | 25 | ||||
| -rw-r--r-- | src/pages/popup/popup.html | 12 | ||||
| -rw-r--r-- | src/pages/popup/popup.js | 6 |
10 files changed, 183 insertions, 168 deletions
diff --git a/src/_locales/filter.py b/src/_locales/filter.py index 581bb36c..0d5fb44d 100644 --- a/src/_locales/filter.py +++ b/src/_locales/filter.py @@ -1,12 +1,4 @@ -import requests import json -from urllib.parse import urlparse -from bs4 import BeautifulSoup -import re -from colorama import Fore, Back, Style -from urllib.parse import urlparse -import socket -import subprocess ar_json = {} diff --git a/src/assets/images/uploadFiles-icon.svg b/src/assets/images/sendFiles-icon.svg index 5557664e..5557664e 100644 --- a/src/assets/images/uploadFiles-icon.svg +++ b/src/assets/images/sendFiles-icon.svg diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 279c8c21..59316dfc 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -406,123 +406,115 @@ function computeService(url, returnFrontend) { }
}
}
- // if (returnFrontend) return [null, null]
- // else return null
+ resolve()
})
})
})
}
-async function switchInstance(url) {
- fetch("/config/config.json")
- .then(response => response.text())
- .then(configData => {
- const config = JSON.parse(configData)
- browser.storage.local.get(["redirects", "options"], r => {
- const redirects = r.redirects
- const options = r.options
- const protocolHost = utils.protocolHost(url)
- for (const service in config.services) {
- if (!options[service].enabled) continue
- if (!all(service, null, options, config, redirects).includes(protocolHost)) continue
+function switchInstance(url) {
+ return new Promise(async resolve => {
+ await init()
+ const protocolHost = utils.protocolHost(url)
+ for (const service in config.services) {
+ if (!all(service, null, options, config, redirects).includes(protocolHost)) continue
- let instancesList = [...options[options[service].frontend][options.network].enabled, ...options[options[service].frontend][options.network].custom]
- if (instancesList.length === 0 && options.networkFallback) instancesList = [...options[options[service].frontend].clearnet.enabled, ...options[options[service].frontend].clearnet.custom]
+ let instancesList = [...options[options[service].frontend][options.network].enabled, ...options[options[service].frontend][options.network].custom]
+ if (instancesList.length === 0 && options.networkFallback) instancesList = [...options[options[service].frontend].clearnet.enabled, ...options[options[service].frontend].clearnet.custom]
- let oldInstance
- const i = instancesList.indexOf(protocolHost)
- if (i > -1) {
- oldInstance = instancesList[i]
- instancesList.splice(i, 1)
- }
- if (instancesList.length === 0) return
- 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
- // Doesn't work because of .includes array method, not a top priotiry atm
- return oldUrl.replace(oldInstance, randomInstance)
- }
- })
- })
+ let oldInstance
+ const i = instancesList.indexOf(protocolHost)
+ if (i > -1) {
+ oldInstance = instancesList[i]
+ instancesList.splice(i, 1)
+ }
+ if (instancesList.length === 0) {
+ resolve()
+ return
+ }
+ 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
+ // Doesn't work because of .includes array method, not a top priotiry atm
+ resolve(oldUrl.replace(oldInstance, randomInstance))
+ return
+ }
+ resolve()
+ })
}
-async function reverse(url) {
- fetch("/config/config.json")
- .then(response => response.text())
- .then(configData => {
- const config = JSON.parse(configData)
- browser.storage.local.get(["redirects", "options"], r => {
- const redirects = r.redirects
- const options = r.options
- let protocolHost = utils.protocolHost(url)
- for (const service in config.services) {
- if (!all(service, null, options, config, redirects).includes(protocolHost)) continue
+function reverse(url) {
+ return new Promise(async resolve => {
+ await init()
+ let protocolHost = utils.protocolHost(url)
+ for (const service in config.services) {
+ if (!all(service, null, options, config, redirects).includes(protocolHost)) continue
- switch (service) {
- case "instagram":
- if (url.pathname.startsWith("/p")) return `https://instagram.com${url.pathname.replace("/p", "")}${url.search}`
- if (url.pathname.startsWith("/u")) return `https://instagram.com${url.pathname.replace("/u", "")}${url.search}`
- return config.services[service].url + url.pathname + url.search
- case "youtube":
- case "imdb":
- case "imgur":
- case "tiktok":
- case "twitter":
- case "reddit":
- return config.services[service].url + url.pathname + url.search
- default:
- return
- }
- }
- })
- })
+ switch (service) {
+ case "instagram":
+ if (url.pathname.startsWith("/p")) resolve(`https://instagram.com${url.pathname.replace("/p", "")}${url.search}`)
+ if (url.pathname.startsWith("/u")) resolve(`https://instagram.com${url.pathname.replace("/u", "")}${url.search}`)
+ resolve(config.services[service].url + url.pathname + url.search)
+ return
+ case "youtube":
+ case "imdb":
+ case "imgur":
+ case "tiktok":
+ case "twitter":
+ case "reddit":
+ resolve(config.services[service].url + url.pathname + url.search)
+ return
+ default:
+ resolve()
+ return
+ }
+ }
+ resolve()
+ })
}
-async function unifyPreferences(url, tabId) {
- fetch("/config/config.json")
- .then(response => response.text())
- .then(configData => {
- const config = JSON.parse(configData)
- browser.storage.local.get(["options", "reidrects"], r => {
- const redirects = r.redirects
- const options = r.options
- const protocolHost = utils.protocolHost(url)
- for (const service in config.services) {
- for (const frontend in config.services[service].frontends) {
- if (all(service, frontend, options, config, redirects).includes(protocolHost)) {
- let instancesList = [...options[frontend][options.network].enabled, ...options[frontend][options.network].custom]
- if (options.networkFallback && options.network != "clearnet") instancesList.push(...options[frontend].clearnet.enabled, ...options[frontend].clearnet.custom)
+function unifyPreferences(url, tabId) {
+ return new Promise(async resolve => {
+ await init()
+ const protocolHost = utils.protocolHost(url)
+ for (const service in config.services) {
+ for (const frontend in config.services[service].frontends) {
+ if (all(service, frontend, options, config, redirects).includes(protocolHost)) {
+ let instancesList = [...options[frontend][options.network].enabled, ...options[frontend][options.network].custom]
+ if (options.networkFallback && options.network != "clearnet") instancesList.push(...options[frontend].clearnet.enabled, ...options[frontend].clearnet.custom)
- const frontend = config.services[service].frontends[frontend]
- if ("cookies" in frontend.preferences) {
- for (const cookie of frontend.preferences.cookies) {
- utils.copyCookie(frontend, url, instancesList, cookie)
- }
- }
- if ("localstorage" in frontend.preferences) {
- browser.storage.local.set({ tmp: [frontend, frontend.preferences.localstorage] })
- browser.tabs.executeScript(tabId, {
- file: "/assets/javascripts/get-localstorage.js",
+ const frontendObject = config.services[service].frontends[frontend]
+ if ("cookies" in frontendObject.preferences) {
+ for (const cookie of frontendObject.preferences.cookies) {
+ utils.copyCookie(frontendObject, url, instancesList, cookie)
+ }
+ }
+ if ("localstorage" in frontendObject.preferences) {
+ browser.storage.local.set({ tmp: [frontend, frontendObject.preferences.localstorage] })
+ browser.tabs.executeScript(tabId, {
+ file: "/assets/javascripts/get-localstorage.js",
+ runAt: "document_start",
+ })
+ for (const instance of instancesList)
+ browser.tabs.create({ url: instance }, tab =>
+ browser.tabs.executeScript(tab.id, {
+ file: "/assets/javascripts/set-localstorage.js",
runAt: "document_start",
})
- for (const instance of instancesList)
- browser.tabs.create({ url: instance }, tab =>
- browser.tabs.executeScript(tab.id, {
- file: "/assets/javascripts/set-localstorage.js",
- runAt: "document_start",
- })
- )
- }
- if ("indexeddb" in frontend.preferences) {
- }
- if ("token" in frontend.preferences) {
- }
- return true
- }
+ )
+ }
+ /*
+ if ("indexeddb" in frontendObject.preferences) {
}
+ if ("token" in frontendObject.preferences) {
+ }
+ */
+ resolve(true)
+ return
}
- })
- })
+ }
+ }
+ })
}
async function setRedirects(redirects) {
@@ -612,46 +604,67 @@ function upgradeOptions() { fetch("/config/config.json")
.then(response => response.text())
.then(configData => {
- browser.storage.local.get(["options", "exceptions", "theme", "popupFrontends", "autoRedirect", "firstPartyIsolate"], r => {
+ browser.storage.local.get(null, r => {
let options = r.options
let latency = {}
const config = JSON.parse(configData)
options.exceptions = r.exceptions
if (r.theme != "DEFAULT") options.theme = r.theme
options.popupServices = r.popupFrontends
+ let tmp = options.popupServices.indexOf("tikTok")
+ if (tmp > -1) {
+ options.popupServices.splice(tmp, 1)
+ options.popupServices.push("tiktok")
+ }
+ tmp = options.popupServices.indexOf("sendTarget")
+ if (tmp > -1) {
+ options.popupServices.splice(tmp, 1)
+ options.popupServices.push("sendFiles")
+ }
options.firstPartyIsolate = r.firstPartyIsolate
options.autoRedirect = r.autoRedirect
+ switch (r.onlyEmbeddedVideo) {
+ case "onlyNotEmbedded":
+ options.youtube.redirectType = "main_frame"
+ case "onlyEmbedded":
+ options.youtube.redirectType = "sub_frame"
+ case "both":
+ options.youtube.redirectType = "both"
+ }
for (const service in config.services) {
- browser.storage.local.get([`disable${utils.camelCase(service)}`, `${service}RedirectType`, `${service}Frontend`, `${service}Latency`, `${service}EmbedFrontend`], r => {
- if (r) {
- options[service].enabled = !r["disable" + utils.camelCase(service)]
- if (r[service + "Frontend"]) {
- if (r[service + "Frontend"] == "yatte") options[service].frontend = "yattee"
- else options[service].frontend = r[service + "Frontend"]
- }
- if (r[service + "RedirectType"]) options[service].redirectType = r[service + "RedirectType"]
- if (r[service + "EmbedFrontend"] && (service != "youtube" || r[service + "EmbedFrontend"] == "invidious" || "piped")) options[service].embedFrontend = r[service + "EmbedFrontend"]
- for (const frontend in config.services[service].frontends) {
- browser.local.storage.get(`${frontend}Latency`, r => {
- if (r) latency[frontend] = r[frontend + "Latency"]
- for (const network in config.networks) {
- let protocol
- if (network == "clearnet") protocol = "normal"
- else protocol = network
- browser.storage.local.get([`${frontend}${utils.camelCase(protocol)}RedirectsChecks`, `${frontend}${utils.camelCase(protocol)}CustomRedirects`], r => {
- if (r) {
- options[frontend][network].checks = r[frontend + utils.camelCase(protocol) + "RedirectsChecks"]
- options[frontend][network].custom = r[frontend + utils.camelCase(protocol) + "CustomRedirects"]
- }
- })
- }
- })
+ let oldService
+ switch (service) {
+ case "tiktok":
+ oldService = "tikTok"
+ break
+ case "sendFiles":
+ oldService = "sendTarget"
+ break
+ default:
+ oldService = service
+ }
+ options[service].enabled = !r["disable" + utils.camelCase(oldService)]
+ if (r[oldService + "Frontend"]) {
+ if (r[oldService + "Frontend"] == "yatte") options[service].frontend = "yattee"
+ else options[service].frontend = r[oldService + "Frontend"]
+ }
+ if (r[oldService + "RedirectType"]) options[service].redirectType = r[oldService + "RedirectType"]
+ if (r[oldService + "EmbedFrontend"] && (service != "youtube" || r[oldService + "EmbedFrontend"] == "invidious" || r[oldService + "EmbedFrontend"] == "piped"))
+ options[service].embedFrontend = r[oldService + "EmbedFrontend"]
+ for (const frontend in config.services[service].frontends) {
+ if (r[frontend + "Latency"]) latency[frontend] = r[frontend + "Latency"]
+ for (const network in config.networks) {
+ let protocol
+ if (network == "clearnet") protocol = "normal"
+ else protocol = network
+ if (r[frontend + utils.camelCase(protocol) + "RedirectsChecks"]) {
+ options[frontend][network].enabled = r[frontend + utils.camelCase(protocol) + "RedirectsChecks"]
+ options[frontend][network].custom = r[frontend + utils.camelCase(protocol) + "CustomRedirects"]
}
}
- })
+ }
}
- browser.storage.local.set({ options, latency })
- resolve()
+ browser.storage.local.set({ options, latency }, () => resolve())
})
})
})
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index 26fe11d6..056bbc00 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -342,7 +342,7 @@ function getPreferencesFromToken(frontend, targetUrl, urls, name, endpoint) { }) } -function copyRaw(test, copyRawElement, config) { +function copyRaw(test, copyRawElement) { return new Promise(resolve => { browser.tabs.query({ active: true, currentWindow: true }, async tabs => { let currTab = tabs[0] @@ -355,7 +355,7 @@ function copyRaw(test, copyRawElement, config) { return } - let newUrl = servicesHelper.reverse(url, config) + const newUrl = await servicesHelper.reverse(url) if (newUrl) { resolve(newUrl) @@ -387,9 +387,7 @@ function unify() { return } - const result = await servicesHelper.unifyPreferences(url, currTab.id) - - resolve(result) + resolve(await servicesHelper.unifyPreferences(url, currTab.id)) } }) }) diff --git a/src/config/config.json b/src/config/config.json index b15c20d4..6866453c 100644 --- a/src/config/config.json +++ b/src/config/config.json @@ -22,7 +22,8 @@ "frontends": {
"invidious": {
"preferences": {
- "cookies": ["PREFS"]
+ "cookies": ["PREFS"],
+ "localstorage": ["dark_mode"]
},
"name": "Invidious",
"embeddable": true,
@@ -529,7 +530,7 @@ "embeddable": false,
"url": "https://maps.libredirect.invalid"
},
- "uploadFiles": {
+ "sendFiles": {
"frontends": {
"send": {
"name": "Send",
diff --git a/src/instances/get_instances.py b/src/instances/get_instances.py index 06b547b3..9a53f927 100644 --- a/src/instances/get_instances.py +++ b/src/instances/get_instances.py @@ -431,6 +431,7 @@ def peertube(): def isValid(url): # This code is contributed by avanitrachhadiya2155 try: + url.encode('ascii') result = urlparse(url) return all([result.scheme, result.netloc]) except Exception: diff --git a/src/pages/options/index.html b/src/pages/options/index.html index 2549566c..5421bb81 100644 --- a/src/pages/options/index.html +++ b/src/pages/options/index.html @@ -84,7 +84,7 @@ <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path> </svg> - <a href="#uploadFiles" data-localise="__MSG_uploadFiles__">Send Files</a></div> + <a href="#sendFiles" data-localise="__MSG_sendFiles__">Send Files</a></div> <div class="title"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" fill="currentColor"> <path d="M11 17h2v-6h-2Zm1-8q.425 0 .713-.288Q13 8.425 13 8t-.287-.713Q12.425 7 12 7t-.712.287Q11 7.575 11 8t.288.712Q11.575 9 12 9Zm0 13q-2.075 0-3.9-.788-1.825-.787-3.175-2.137-1.35-1.35-2.137-3.175Q2 14.075 2 12t.788-3.9q.787-1.825 2.137-3.175 1.35-1.35 3.175-2.138Q9.925 2 12 2t3.9.787q1.825.788 3.175 2.138 1.35 1.35 2.137 3.175Q22 9.925 22 12t-.788 3.9q-.787 1.825-2.137 3.175-1.35 1.35-3.175 2.137Q14.075 22 12 22Zm0-2q3.35 0 5.675-2.325Q20 15.35 20 12q0-3.35-2.325-5.675Q15.35 4 12 4 8.65 4 6.325 6.325 4 8.65 4 12q0 3a.35 2.325 5.675Q8.65 20 12 20Zm0-8Z"></path> </svg> @@ -150,11 +150,6 @@ </button> </div> </form> - <div class="buttons buttons-inline"><a class="button button-inline" id="test"> - <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> - <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"></path> - </svg> - Test Test Yes Yes</a> </div> <div class="checklist" id="exceptions-custom-checklist"></div> <div class="buttons buttons-inline"><a class="button button-inline" id="update-instances"> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> @@ -323,9 +318,9 @@ <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path> </svg> - <x data-localise="__MSG_uploadFiles__">Send Files</x> + <x data-localise="__MSG_sendFiles__">Send Files</x> </div> - <input id="uploadFiles" type="checkbox"> + <input id="sendFiles" type="checkbox"> </div> </div> @@ -3139,14 +3134,14 @@ </div> </section> -<section class="option-block" id="uploadFiles_page"> +<section class="option-block" id="sendFiles_page"> <div class="some-block option-block"> - <h1 data-localise="__MSG_uploadFiles__">Send Files</h1> + <h1 data-localise="__MSG_sendFiles__">Send Files</h1> </div> <hr> <div class="some-block option-block"> <h4 data-localise="__MSG_enable__">Enable</h4> - <input id="uploadFiles-enabled" type="checkbox"> + <input id="sendFiles-enabled" type="checkbox"> </div> <hr> <div id="send"> diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js index 1a2f44c6..92632f23 100644 --- a/src/pages/options/widgets/general.js +++ b/src/pages/options/widgets/general.js @@ -49,16 +49,16 @@ function setOption(option, multiChoice, event) { let exportSettingsElement = document.getElementById("export-settings") function exportSettings() { - browser.storage.local.get(null, result => { - let resultString = JSON.stringify(result, null, " ") - exportSettingsElement.href = "data:application/json;base64," + btoa(encodeURI(resultString)) + browser.storage.local.get("options", result => { + result.options.version = browser.runtime.getManifest().version + let resultString = JSON.stringify(result.options, null, " ") + exportSettingsElement.href = "data:application/json;base64," + btoa(resultString) exportSettingsElement.download = "libredirect-settings.json" }) } exportSettings() document.getElementById("general_page").addEventListener("click", exportSettings) -document.getElementById("test").addEventListener("click", servicesHelper.upgradeOptions) let importSettingsElement = document.getElementById("import-settings") let importSettingsElementText = document.getElementById("import_settings_text") @@ -70,7 +70,22 @@ importSettingsElement.addEventListener("change", () => { reader.onload = async () => { const data = JSON.parse(reader.result) if ("theme" in data && "disableImgur" in data && "imgurRedirects" in data) { - browser.storage.local.clear(() => browser.storage.local.set({ ...data }, () => location.reload())) + browser.storage.local.clear(() => + browser.storage.local.set({ ...data }, () => { + fetch("/instances/blacklist.json") + .then(response => response.text()) + .then(async data => { + browser.storage.local.set({ blacklists: JSON.parse(data) }, async () => { + await generalHelper.initDefaults() + await servicesHelper.initDefaults() + await servicesHelper.upgradeOptions() + location.reload() + }) + }) + }) + ) + } else if ("version" in data) { + browser.storage.local.clear(() => browser.storage.local.set({ options: data }, () => location.reload())) } else { console.log("incompatible settings") importError() diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html index 56e4ca14..b5076635 100644 --- a/src/pages/popup/popup.html +++ b/src/pages/popup/popup.html @@ -107,13 +107,13 @@ <h4 data-localise="__MSG_maps__">Maps</h4></a> <input class="maps-enabled" type="checkbox"/> </div> -<div class="uploadFiles some-block"><a class="title" href="https://send.libredirect.invalid"> +<div class="sendFiles some-block"><a class="title" href="https://send.libredirect.invalid"> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path> </svg> - <h4 data-localise="__MSG_uploadFiles__">Send Files</h4></a> - <input class="uploadFiles-enabled" type="checkbox"/> + <h4 data-localise="__MSG_sendFiles__">Send Files</h4></a> + <input class="sendFiles-enabled" type="checkbox"/> </div> <div id="current_site_divider"> @@ -220,13 +220,13 @@ <h4 data-localise="__MSG_maps__">Maps</h4></a> <input class="maps-enabled" type="checkbox"/> </div> -<div class="uploadFiles some-block"><a class="title" href="https://send.libredirect.invalid"> +<div class="sendFiles some-block"><a class="title" href="https://send.libredirect.invalid"> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path> </svg> - <h4 data-localise="__MSG_uploadFiles__">Send Files</h4></a> - <input class="uploadFiles-enabled" type="checkbox"/> + <h4 data-localise="__MSG_sendFiles__">Send Files</h4></a> + <input class="sendFiles-enabled" type="checkbox"/> </div> </div> diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js index 05dd70f7..ed1546c7 100644 --- a/src/pages/popup/popup.js +++ b/src/pages/popup/popup.js @@ -26,7 +26,7 @@ utils.switchInstance(true).then(r => { else document.getElementById("change_instance").addEventListener("click", () => utils.switchInstance(false)) }) -utils.copyRaw(true, null, config).then(r => { +utils.copyRaw(true).then(r => { if (!r) document.getElementById("copy_raw_div").style.display = "none" else { const copy_raw = document.getElementById("copy_raw") @@ -81,13 +81,13 @@ browser.storage.local.get("options", r => { let service = await serviceHelper.computeService(url, true) let frontend if (service) { - if (service[1]) { + if (service[0]) { frontend = service[1] service = service[0] } divs[service].current.classList.remove("hide") divs[service].all.classList.add("hide") - if (config.services[service].frontends[frontend].preferences && !config.services[service].frontends[frontend].preferences.token) { + 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", () => { |
