Fixed bug in piped, PipedMaterial, lingva's Unify Settings
This commit is contained in:
parent
3f9f19356e
commit
5abfe6f9f1
@ -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();
|
||||
}
|
||||
)
|
||||
|
@ -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,
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
window.browser = window.browser || window.chrome;
|
||||
|
||||
console.log('unifying piped');
|
||||
|
||||
browser.storage.local.set(
|
||||
{
|
||||
'piped_bufferGoal': localStorage.getItem("bufferGoal"),
|
||||
|
@ -4,5 +4,7 @@ browser.storage.local.get(
|
||||
"pipedMaterial_PREFERENCES",
|
||||
r => {
|
||||
if (r.pipedMaterial_PREFERENCES !== undefined) localStorage.setItem("PREFERENCES", r.pipedMaterial_PREFERENCES)
|
||||
|
||||
window.close();
|
||||
}
|
||||
)
|
@ -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();
|
||||
}
|
||||
)
|
@ -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]
|
||||
@ -421,42 +426,11 @@ function setInvidiousCookies() {
|
||||
}
|
||||
|
||||
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,21 +438,29 @@ 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"
|
||||
}
|
||||
);
|
||||
|
||||
if (!test) {
|
||||
browser.tabs.executeScript(tabId, { file: "/assets/javascripts/helpers/youtube/get_piped_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);
|
||||
}
|
||||
)
|
||||
@ -486,46 +468,15 @@ function setPipedLocalStorage(url, tabId) {
|
||||
}
|
||||
|
||||
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_pipedMaterial_preferences.js",
|
||||
runAt: "document_start"
|
||||
}
|
||||
);
|
||||
resolve(true);
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
function setPipedMaterialLocalStorage(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,
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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) })
|
||||
|
@ -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));
|
||||
}
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user