aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-23 19:54:04 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-23 19:54:04 +0300
commit5abfe6f9f17bb1b46d4aca19e4daed359b4d761c (patch)
tree07cc2128006c5c248e9094b40f38201517461c35
parentFixed a typo in Piped Unify Settings, and added more settings (diff)
downloadlibredirect-5abfe6f9f17bb1b46d4aca19e4daed359b4d761c.zip
Fixed bug in piped, PipedMaterial, lingva's Unify Settings
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/helpers/translate/set_lingva_preferences.js2
-rw-r--r--src/assets/javascripts/helpers/translate/translate.js67
-rw-r--r--src/assets/javascripts/helpers/youtube/get_piped_preferences.js2
-rw-r--r--src/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js2
-rw-r--r--src/assets/javascripts/helpers/youtube/set_piped_preferences.js2
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js156
-rw-r--r--src/pages/background/background.js14
-rw-r--r--src/pages/options/general/general.js4
-rw-r--r--src/pages/popup/popup.js1
9 files changed, 92 insertions, 158 deletions
diff --git a/src/assets/javascripts/helpers/translate/set_lingva_preferences.js b/src/assets/javascripts/helpers/translate/set_lingva_preferences.js
index 7380fa37..d40f28e4 100644
--- a/src/assets/javascripts/helpers/translate/set_lingva_preferences.js
+++ b/src/assets/javascripts/helpers/translate/set_lingva_preferences.js
@@ -12,5 +12,7 @@ browser.storage.local.get(
if (r.lingva_isauto !== undefined) localStorage.setItem('isauto', r.lingva_isauto);
if (r.lingva_source !== undefined) localStorage.setItem('source', r.lingva_source);
if (r.lingva_target !== undefined) localStorage.setItem('target', r.lingva_target);
+
+ window.close();
}
)
diff --git a/src/assets/javascripts/helpers/translate/translate.js b/src/assets/javascripts/helpers/translate/translate.js
index 996f0ee3..3e853160 100644
--- a/src/assets/javascripts/helpers/translate/translate.js
+++ b/src/assets/javascripts/helpers/translate/translate.js
@@ -47,66 +47,48 @@ function initLingvaLocalStorage(test, url, tabId) {
return new Promise(resolve => {
browser.storage.local.get(
[
+ "translateDisable",
+ "translateProtocol",
+ "translateFrontend",
"lingvaNormalRedirectsChecks",
"lingvaNormalCustomRedirects",
"lingvaTorRedirectsChecks",
"lingvaTorCustomRedirects",
],
r => {
- let protocolHost = utils.protocolHost(url);
+ if (r.translateDisable || r.translateFrontend != 'lingva') { resolve(); return; }
+ const protocolHost = utils.protocolHost(url);
if (![
...r.lingvaNormalRedirectsChecks,
- ...r.lingvaTorRedirectsChecks,
...r.lingvaNormalCustomRedirects,
+ ...r.lingvaTorRedirectsChecks,
...r.lingvaTorCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
- if (!test)
+ if (!test) {
browser.tabs.executeScript(
tabId,
- {
- file: "/assets/javascripts/helpers/translate/get_lingva_preferences.js",
- runAt: "document_start"
- }
+ { file: "/assets/javascripts/helpers/translate/get_lingva_preferences.js", runAt: "document_start" }
);
+
+ let checkedInstances;
+ if (r.translateProtocol == 'normal') checkedInstances = [...r.lingvaNormalRedirectsChecks, ...r.lingvaNormalCustomRedirects];
+ if (r.translateProtocol == 'tor') checkedInstances = [...r.lingvaTorRedirectsChecks, ...r.lingvaTorCustomRedirects];
+ const i = checkedInstances.indexOf(protocolHost);
+ if (i !== -1) checkedInstances.splice(i, 1);
+ if (checkedInstances.length === 0) { resolve(); return; }
+ for (const to of checkedInstances)
+ browser.tabs.create(
+ { url: to },
+ tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/translate/set_lingva_preferences.js", runAt: "document_start" })
+ );
+ }
resolve(true);
}
)
})
}
-function setLingvaLocalStorage(url, tabId) {
- return new Promise(resolve => {
- browser.storage.local.get(
- [
- "disableYoutube",
- "youtubeFrontend",
- "lingvaNormalRedirectsChecks",
- "lingvaNormalCustomRedirects",
- "lingvaTorRedirectsChecks",
- "lingvaTorCustomRedirects",
- ],
- r => {
- if (r.disableYoutube || r.youtubeFrontend != 'lingva') { resolve(); return; }
- let protocolHost = utils.protocolHost(url);
- if (![
- ...r.lingvaNormalRedirectsChecks,
- ...r.lingvaTorRedirectsChecks,
- ...r.lingvaNormalCustomRedirects,
- ...r.lingvaTorCustomRedirects,
- ].includes(protocolHost)) { resolve(); return; }
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/set_lingva_preferences.js",
- runAt: "document_start"
- }
- );
- resolve(true);
- })
- })
-}
-
function initSimplyTranslateCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
@@ -233,6 +215,7 @@ function switchInstance(url) {
return new Promise(resolve => {
browser.storage.local.get(
[
+ "translateDisable",
"translateFrontend",
"translateProtocol",
"translateRedirects",
@@ -248,6 +231,7 @@ function switchInstance(url) {
"lingvaTorCustomRedirects",
],
r => {
+ if (r.translateDisable) { resolve(); return; };
const protocolHost = utils.protocolHost(url);
if (![
...r.translateRedirects.simplyTranslate.normal,
@@ -266,14 +250,14 @@ function switchInstance(url) {
let instancesList;
if (r.translateProtocol == 'normal') {
if (r.translateFrontend == 'simplyTranslate') instancesList = [...r.simplyTranslateNormalRedirectsChecks, ...r.simplyTranslateNormalCustomRedirects];
- else if (r.translateFrontend == 'lingva') [...r.lingvaNormalRedirectsChecks, ...r.lingvaNormalCustomRedirects];
+ else if (r.translateFrontend == 'lingva') instancesList = [...r.lingvaNormalRedirectsChecks, ...r.lingvaNormalCustomRedirects];
}
else if (r.translateProtocol == 'tor') {
if (r.translateFrontend == 'simplyTranslate') instancesList = [...r.simplyTranslateTorRedirectsChecks, ...r.simplyTranslateTorCustomRedirects];
else if (r.translateFrontend == 'lingva') instancesList = [...r.lingvaTorRedirectsChecks, ...r.lingvaTorCustomRedirects];
}
- let index = instancesList.indexOf(protocolHost);
+ const index = instancesList.indexOf(protocolHost);
if (index > -1) instancesList.splice(index, 1);
if (instancesList.length === 0) { resolve(); return; }
@@ -326,7 +310,6 @@ export default {
initSimplyTranslateCookies,
setSimplyTranslateCookies,
initLingvaLocalStorage,
- setLingvaLocalStorage,
setRedirects,
diff --git a/src/assets/javascripts/helpers/youtube/get_piped_preferences.js b/src/assets/javascripts/helpers/youtube/get_piped_preferences.js
index 7f090ff6..417d64df 100644
--- a/src/assets/javascripts/helpers/youtube/get_piped_preferences.js
+++ b/src/assets/javascripts/helpers/youtube/get_piped_preferences.js
@@ -1,7 +1,5 @@
window.browser = window.browser || window.chrome;
-console.log('unifying piped');
-
browser.storage.local.set(
{
'piped_bufferGoal': localStorage.getItem("bufferGoal"),
diff --git a/src/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js b/src/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js
index 7e12fe26..7415255a 100644
--- a/src/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js
+++ b/src/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js
@@ -4,5 +4,7 @@ browser.storage.local.get(
"pipedMaterial_PREFERENCES",
r => {
if (r.pipedMaterial_PREFERENCES !== undefined) localStorage.setItem("PREFERENCES", r.pipedMaterial_PREFERENCES)
+
+ window.close();
}
) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/set_piped_preferences.js b/src/assets/javascripts/helpers/youtube/set_piped_preferences.js
index b0aa223c..d5ce49ff 100644
--- a/src/assets/javascripts/helpers/youtube/set_piped_preferences.js
+++ b/src/assets/javascripts/helpers/youtube/set_piped_preferences.js
@@ -38,5 +38,7 @@ browser.storage.local.get(
if (r.piped_theme !== undefined) localStorage.setItem("theme", r.piped_theme);
if (r.piped_volume !== undefined) localStorage.setItem("volume", r.piped_volume);
if (r.piped_watchHistory !== undefined) localStorage.setItem("watchHistory", r.piped_watchHistory);
+
+ window.close();
}
) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index fc75a113..989e3f61 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -368,14 +368,17 @@ function initInvidiousCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
+ "disableYoutube",
"youtubeProtocol",
+ "youtubeFrontend",
"invidiousNormalRedirectsChecks",
"invidiousNormalCustomRedirects",
"invidiousTorRedirectsChecks",
"invidiousTorCustomRedirects",
],
r => {
- let protocolHost = utils.protocolHost(from);
+ if (r.disableYoutube || r.youtubeFrontend != 'invidious') { resolve(); return; }
+ const protocolHost = utils.protocolHost(from);
if (![
...r.invidiousNormalRedirectsChecks,
...r.invidiousTorRedirectsChecks,
@@ -386,6 +389,8 @@ function initInvidiousCookies(test, from) {
let checkedInstances;
if (r.youtubeProtocol == 'normal') checkedInstances = [...r.invidiousNormalRedirectsChecks, ...r.invidiousNormalCustomRedirects]
else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.invidiousTorRedirectsChecks, ...r.invidiousTorCustomRedirects]
+ const i = checkedInstances.indexOf(protocolHost);
+ if (i !== -1) checkedInstances.splice(i, 1);
for (const to of checkedInstances)
utils.copyCookie('invidious', from, to, 'PREFS');
}
@@ -408,7 +413,7 @@ function setInvidiousCookies() {
"invidiousTorCustomRedirects",
],
r => {
- if (r.disableYoutube || r.youtubeFrontend != 'invidious' || r.youtubeProtocol === undefined) { resolve(); return; }
+ if (r.disableYoutube || r.youtubeFrontend != 'invidious') { resolve(); return; }
let checkedInstances;
if (r.youtubeProtocol == 'normal') checkedInstances = [...r.invidiousNormalRedirectsChecks, ...r.invidiousNormalCustomRedirects]
else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.invidiousTorRedirectsChecks, ...r.invidiousTorCustomRedirects]
@@ -424,39 +429,8 @@ function initPipedLocalStorage(test, url, tabId) {
return new Promise(resolve => {
browser.storage.local.get(
[
- "pipedNormalRedirectsChecks",
- "pipedNormalCustomRedirects",
- "pipedTorRedirectsChecks",
- "pipedTorCustomRedirects",
- ],
- r => {
- let protocolHost = utils.protocolHost(url);
- if (![
- ...r.pipedNormalCustomRedirects,
- ...r.pipedNormalRedirectsChecks,
- ...r.pipedTorRedirectsChecks,
- ...r.pipedTorCustomRedirects,
- ].includes(protocolHost)) { resolve(); return; }
-
- if (!test)
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/get_piped_preferences.js",
- runAt: "document_start"
- }
- );
- resolve(true);
- }
- )
- })
-}
-
-function setPipedLocalStorage(url, tabId) {
- return new Promise(resolve => {
- browser.storage.local.get(
- [
"disableYoutube",
+ "youtubeProtocol",
"youtubeFrontend",
"pipedNormalRedirectsChecks",
"pipedNormalCustomRedirects",
@@ -464,68 +438,45 @@ function setPipedLocalStorage(url, tabId) {
"pipedTorCustomRedirects",
],
r => {
- if (!r.disableYoutube && r.youtubeFrontend == 'pipedMaterial') { resolve(); return; }
- let protocolHost = utils.protocolHost(url);
+ if (r.disableYoutube || r.youtubeFrontend != 'piped') { resolve(); return; }
+ const protocolHost = utils.protocolHost(url);
if (![
+ ...r.pipedNormalCustomRedirects,
...r.pipedNormalRedirectsChecks,
...r.pipedTorRedirectsChecks,
- ...r.pipedNormalCustomRedirects,
...r.pipedTorCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/set_piped_preferences.js",
- runAt: "document_start"
- }
- );
- resolve(true);
- }
- )
- })
-}
-function initPipedMaterialLocalStorage(test, url, tabId,) {
- return new Promise(resolve => {
- browser.storage.local.get(
- [
- "pipedMaterialNormalRedirectsChecks",
- "pipedMaterialNormalCustomRedirects",
- "pipedMaterialTorRedirectsChecks",
- "pipedMaterialTorCustomRedirects",
- ],
- r => {
- const protocolHost = utils.protocolHost(url);
- if (![
- ...r.pipedMaterialNormalCustomRedirects,
- ...r.pipedMaterialNormalRedirectsChecks,
- ...r.pipedMaterialTorRedirectsChecks,
- ...r.pipedMaterialTorCustomRedirects,
- ].includes(protocolHost)) { resolve(); return; }
+ if (!test) {
+ browser.tabs.executeScript(tabId, { file: "/assets/javascripts/helpers/youtube/get_piped_preferences.js", runAt: "document_start" });
- if (!test)
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js",
- runAt: "document_start"
- }
- );
+ let checkedInstances;
+ if (r.youtubeProtocol == 'normal') checkedInstances = [...r.pipedNormalCustomRedirects, ...r.pipedNormalRedirectsChecks]
+ else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.pipedTorRedirectsChecks, ...r.pipedTorCustomRedirects]
+ const i = checkedInstances.indexOf(protocolHost);
+ if (i !== -1) checkedInstances.splice(i, 1);
+ for (const to of checkedInstances)
+ browser.tabs.create(
+ { url: to },
+ tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/youtube/set_piped_preferences.js", runAt: "document_start" })
+ );
+ }
resolve(true);
}
)
})
}
-function setPipedMaterialLocalStorage(url, tabId) {
+function initPipedMaterialLocalStorage(test, url, tabId,) {
return new Promise(resolve => {
browser.storage.local.get(
[
"disableYoutube",
+ "youtubeProtocol",
"youtubeFrontend",
"pipedMaterialNormalRedirectsChecks",
- "pipedMaterialTorRedirectsChecks",
"pipedMaterialNormalCustomRedirects",
+ "pipedMaterialTorRedirectsChecks",
"pipedMaterialTorCustomRedirects",
],
r => {
@@ -533,17 +484,25 @@ function setPipedMaterialLocalStorage(url, tabId) {
const protocolHost = utils.protocolHost(url);
if (![
...r.pipedMaterialNormalRedirectsChecks,
- ...r.pipedMaterialTorRedirectsChecks,
...r.pipedMaterialNormalCustomRedirects,
+ ...r.pipedMaterialTorRedirectsChecks,
...r.pipedMaterialTorCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js",
- runAt: "document_start"
- }
- );
+
+ if (!test) {
+ browser.tabs.executeScript(tabId, { file: "/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js", runAt: "document_start" });
+
+ let checkedInstances;
+ if (r.youtubeProtocol == 'normal') checkedInstances = [...r.pipedMaterialNormalRedirectsChecks, ...r.pipedMaterialNormalCustomRedirects]
+ else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.pipedMaterialTorRedirectsChecks, ...r.pipedMaterialTorCustomRedirects]
+ const i = checkedInstances.indexOf(protocolHost);
+ if (i !== -1) checkedInstances.splice(i, 1);
+ for (const to of checkedInstances)
+ browser.tabs.create(
+ { url: to },
+ tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js", runAt: "document_start" })
+ );
+ }
resolve(true);
}
)
@@ -555,15 +514,19 @@ function removeXFrameOptions(e) {
browser.storage.local.get(
[
"youtubeRedirects",
- "pipedMaterialNormalRedirectsChecks",
- "pipedMaterialTorRedirectsChecks",
"invidiousNormalCustomRedirects",
"invidiousTorCustomRedirects",
+
+ "pipedNormalCustomRedirects",
+ "pipedTorCustomRedirects",
+
+ "pipedMaterialNormalCustomRedirects",
+ "pipedMaterialTorCustomRedirects",
],
r => {
const url = new URL(e.url);
let protocolHost = utils.protocolHost(url);
- const list = [
+ if (![
...r.youtubeRedirects.invidious.normal,
...r.youtubeRedirects.invidious.tor,
...r.youtubeRedirects.piped.normal,
@@ -573,14 +536,17 @@ function removeXFrameOptions(e) {
...r.invidiousTorCustomRedirects,
...r.pipedNormalCustomRedirects,
- ...r.pipedTorCustomRedirects
- ];
- if (!list.includes(protocolHost) || e.type != 'sub_frame') { resolve(); return; }
+ ...r.pipedTorCustomRedirects,
+
+ ...r.pipedMaterialNormalCustomRedirects,
+ ...r.pipedMaterialTorCustomRedirects,
+ ].includes(protocolHost) || e.type != 'sub_frame') { resolve(); return; }
let isChanged = false;
- for (const i in e.responseHeaders) if (e.responseHeaders[i].name == 'x-frame-options') {
- e.responseHeaders.splice(i, 1);
- isChanged = true;
- }
+ for (const i in e.responseHeaders)
+ if (e.responseHeaders[i].name == 'x-frame-options') {
+ e.responseHeaders.splice(i, 1);
+ isChanged = true;
+ }
if (isChanged) resolve({ responseHeaders: e.responseHeaders });
})
})
@@ -589,8 +555,6 @@ function removeXFrameOptions(e) {
export default {
setRedirects,
initPipedMaterialLocalStorage,
- setPipedLocalStorage,
- setPipedMaterialLocalStorage,
initInvidiousCookies,
setInvidiousCookies,
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 5a6dc820..211ecf98 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -216,20 +216,6 @@ browser.webRequest.onErrorOccurred.addListener(
{ urls: ["<all_urls>"], }
)
-browser.tabs.onUpdated.addListener(
- async (tabId, changeInfo, _) => {
- await wholeInit();
- let url;
- try { url = new URL(changeInfo.url); }
- catch (_) { return }
- let result = await youtubeHelper.setPipedLocalStorage(url, tabId);
- if (!result) result = await youtubeHelper.setPipedMaterialLocalStorage(url, tabId);
- if (!result) result = await translateHelper.initLingvaLocalStorage(url, tabId);
- }
-);
-
-
-
browser.commands.onCommand.addListener(
command => {
if (command === 'switchInstance') utils.switchInstance();
diff --git a/src/pages/options/general/general.js b/src/pages/options/general/general.js
index f2690209..c943ddd8 100644
--- a/src/pages/options/general/general.js
+++ b/src/pages/options/general/general.js
@@ -80,10 +80,8 @@ function importError() {
setTimeout(() => importSettingsElementText.innerHTML = oldHTML, 1000);
}
-let resetSettingsElement = document.getElementById("reset-settings");
-resetSettingsElement.addEventListener("click",
+document.getElementById("reset-settings").addEventListener("click",
async () => {
- console.log("reset");
await browser.storage.local.clear();
fetch('/instances/blocklist.json').then(response => response.text()).then(async data => {
await browser.storage.local.set({ cloudflareList: JSON.parse(data) })
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 58d45d6a..824f178b 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -94,7 +94,6 @@ utils.unify(true).then(r => {
if (!r) document.getElementById('unify_div').style.display = 'none';
else {
const unify = document.getElementById('unify');
- console.log('addlistner');
unify.addEventListener("click", () => utils.unify(false, unify));
}
})