diff options
Diffstat (limited to 'src/pages')
-rw-r--r-- | src/pages/background/background.js | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 87bc8dda..88b6f759 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -279,7 +279,9 @@ function redirectYouTube(url, initiator, type) { if (invidiousSubtitles) { url.searchParams.append("subtitles", invidiousSubtitles); } - url.searchParams.append("autoplay", invidiousAutoplay ? 1 : 0); + if (invidiousAutoplay) { + url.searchParams.append("autoplay", 1); + } return `${ invidiousInstance || commonHelper.getRandomInstance(invidiousRandomPool) @@ -305,14 +307,10 @@ function redirectTwitter(url, initiator) { }); return null; } - if (url.host.split(".")[0] === "pbs") { + if (url.host.split(".")[0] === "pbs" || url.host.split(".")[0] === "video") { return `${ nitterInstance || commonHelper.getRandomInstance(nitterRandomPool) }/pic/${encodeURIComponent(url.href)}`; - } else if (url.host.split(".")[0] === "video") { - return `${ - nitterInstance || commonHelper.getRandomInstance(nitterRandomPool) - }/gif/${encodeURIComponent(url.href)}`; } else if (url.pathname.split("/").includes("tweets")) { return `${ nitterInstance || commonHelper.getRandomInstance(nitterRandomPool) @@ -482,6 +480,21 @@ function redirectReddit(url, initiator, type) { } else { return null; } + } else if (url.host === "redd.it") { + if ( + redditInstance.includes("teddit") && + !url.pathname.match(/^\/+[^\/]+\/+[^\/]/) + ) { + // As of 2021-04-22, redirects for teddit redd.it/foo links don't work. + // It appears that adding "/comments" as a prefix works, so manually add + // that prefix if it is missing. Even though redd.it/comments/foo links + // don't seem to work or exist, guard against affecting those kinds of + // paths. + // + // Note the difference between redd.it/comments/foo (doesn't work) and + // teddit.net/comments/foo (works). + return `${redditInstance}/comments${url.pathname}${url.search}`; + } } return `${redditInstance}${url.pathname}${url.search}`; } @@ -538,10 +551,7 @@ browser.webRequest.onBeforeRequest.addListener( redirect = { redirectUrl: redirectGoogleMaps(url, initiator), }; - } else if ( - redditDomains.includes(url.host) || - redditInstances.includes(url.origin) - ) { + } else if (redditDomains.includes(url.host)) { redirect = { redirectUrl: redirectReddit(url, initiator, details.type), }; |