about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/assets/javascripts/helpers/reddit.js1
-rw-r--r--src/pages/background/background.js14
2 files changed, 15 insertions, 0 deletions
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index dad6a064..a21b3288 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -3,6 +3,7 @@ const targets = [
   "np.reddit.com",
   "new.reddit.com",
   "amp.reddit.com",
+  "i.redd.it",
 ];
 const redirects = [
   // libreddit: privacy w/ modern UI
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 4199ab13..fe426268 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -464,6 +464,20 @@ function redirectReddit(url, initiator, type) {
   if (type !== "main_frame" || url.pathname.match(redditBypassPaths)) {
     return null;
   }
+  if (url.host === "i.redd.it") {
+    if (redditInstance.includes("libredd")) {
+      return `${redditInstance}/img${url.pathname}${url.search}`;
+    } else if (redditInstance.includes("teddit")) {
+      // As of 2021-04-09, redirects for teddit images are nontrivial:
+      // - navigating to the image before ever navigating to its page causes
+      //   404 error (probably needs fix on teddit project)
+      // - some image links on teddit are very different
+      // Therefore, don't support redirecting image links for teddit.
+      return null;
+    } else {
+      return null;
+    }
+  }
   return `${redditInstance}${url.pathname}${url.search}`;
 }