about summary refs log tree commit diff stats
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/background/background.js30
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),
       };