diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js index a695479..268c721 100644 --- a/src/assets/javascripts/helpers/reddit.js +++ b/src/assets/javascripts/helpers/reddit.js @@ -214,7 +214,7 @@ function redirect(url, type, initiator) { ].includes(initiator.origin) || targets.includes(initiator.host) ) - ) return 'BYBASSTAB'; + ) return 'BYPASSTAB'; if ((!targets.includes(url.host))) return null; diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index 8b41853..992e44f 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -94,24 +94,24 @@ function setProtocol(val) { console.log("twitterProtocol: ", val) } -function isTwitter(url, initiator) { - if (disable) return false; +function redirect(url, initiator) { + + if (disable) return null; + + if (!targets.some((rx) => rx.test(url.href))) return null; + if (url.pathname.split("/").includes("home")) return null; + if ( - commonHelper.isFirefox() && initiator && ( - [ - ...redirects.nitter.normal, - ...redirects.nitter.tor, - ...nitterTorCustomRedirects, - ...nitterNormalCustomRedirects - ].includes(initiator.origin) || targets.includes(initiator.host)) - ) return false; + [...redirects.nitter.normal, + ...redirects.nitter.tor, + ...nitterTorCustomRedirects, + ...nitterNormalCustomRedirects + ].includes(initiator.origin) + ) + ) return 'BYPASSTAB'; - return targets.some((rx) => rx.test(url.href)); -} - -function redirect(url) { let instancesList; if (protocol == 'normal') instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]; @@ -216,7 +216,6 @@ export default { setProtocol, redirect, - isTwitter, init, changeInstance, }; diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 55f7d7d..d52cf94 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -328,20 +328,18 @@ function redirect(url, details, initiator) { if ( bypassWatchOnYoutube && initiator && ( - [ - ...redirects.invidious.normal, - ...invidiousNormalCustomRedirects, - ...redirects.invidious.tor, - ...invidiousTorCustomRedirects, + [...redirects.invidious.normal, + ...invidiousNormalCustomRedirects, + ...redirects.invidious.tor, + ...invidiousTorCustomRedirects, - ...redirects.piped.normal, - ...redirects.piped.tor, - ...pipedNormalCustomRedirects, - ...pipedTorCustomRedirects - ].includes(initiator.origin) || - targets.includes(initiator.host) + ...redirects.piped.normal, + ...redirects.piped.tor, + ...pipedNormalCustomRedirects, + ...pipedTorCustomRedirects + ].includes(initiator.origin) ) - ) return 'BYBASSTAB'; + ) return 'BYPASSTAB'; if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API. diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 13bbb5d..3211e1c 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -36,7 +36,7 @@ wholeInit(); browser.storage.onChanged.addListener(wholeInit); -let bybassTabs = []; +let BYPASSTABs = []; browser.webRequest.onBeforeRequest.addListener( (details) => { @@ -53,7 +53,7 @@ browser.webRequest.onBeforeRequest.addListener( if (youtubeHelper.isPipedorInvidious(newUrl ?? url, details.type)) newUrl = youtubeHelper.addUrlParams(newUrl ?? url); if (youtubeMusicHelper.isYoutubeMusic(url, initiator)) newUrl = youtubeMusicHelper.redirect(url, details.type) - if (twitterHelper.isTwitter(url, initiator)) newUrl = twitterHelper.redirect(url); + if (!newUrl) newUrl = twitterHelper.redirect(url, initiator); if (instagramHelper.isInstagram(url, initiator)) newUrl = instagramHelper.redirect(url, details.type); @@ -75,16 +75,16 @@ browser.webRequest.onBeforeRequest.addListener( if (exceptionsHelper.isException(url, initiator)) newUrl = null; - if (bybassTabs.includes(details.tabId)) newUrl = null; + if (BYPASSTABs.includes(details.tabId)) newUrl = null; if (newUrl) { if (newUrl == 'CANCEL') { console.log(`Canceled ${url}`); return { cancel: true }; } - else if (newUrl == 'BYBASSTAB') { - console.log(`Bybassed ${details.tabId}`); - bybassTabs.push(details.tabId); + else if (newUrl == 'BYPASSTAB') { + console.log(`Bybassed ${details.tabId} ${url}`); + BYPASSTABs.push(details.tabId); return null; } else { @@ -99,9 +99,11 @@ browser.webRequest.onBeforeRequest.addListener( ); browser.tabs.onRemoved.addListener((tabId) => { - let index = bybassTabs.indexOf(tabId); - if (index > -1) bybassTabs.splice(index, 1); - console.log("Removed bybassTabs", tabId); + let index = BYPASSTABs.indexOf(tabId); + if (index > -1) { + BYPASSTABs.splice(index, 1); + console.log("Removed BYPASSTABs", tabId); + } });