summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Kim <git@jasonk.me>2021-04-22 22:43:30 -0700
committerJason Kim <git@jasonk.me>2021-04-22 23:00:09 -0700
commit21ee6b8542af700dc3d81520c7e62bc2657cb2af (patch)
tree9f728e96ca2a4124420ff70e16bb498e1d612c42
parentbb6894cec54f746d76d8209ca25198881cf9d29b (diff)
downloadprivacy-redirect-21ee6b8542af700dc3d81520c7e62bc2657cb2af.tar.gz
privacy-redirect-21ee6b8542af700dc3d81520c7e62bc2657cb2af.tar.bz2
privacy-redirect-21ee6b8542af700dc3d81520c7e62bc2657cb2af.zip
fix: add "/comments" prefix only if it's missing
Although I have never seen it in the wild, it is possible to navigate to "redd.it/comments/...". This should redirect to "teddit.net/comments/..." in the case of instance teddit.net. However, the current code redirects it to "teddit.net/comments/comments/...". Fix it by avoiding adding the prefix if it's already there.
-rw-r--r--src/pages/background/background.js12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 82f65a2..d3ec06c 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -483,9 +483,15 @@ function redirectReddit(url, initiator, type) {
return null;
}
} else if (url.host === "redd.it") {
- if (redditInstance.includes("teddit")) {
- // As of 2021-04-22, redirects for teddit redd.it links don't work out of
- // the box. Prefixing the path with "/comments" seems to help.
+ if (
+ redditInstance.includes("teddit") &&
+ !url.pathname.startsWith("/comments/")
+ ) {
+ // As of 2021-04-22, redirects for teddit redd.it links don't work unless
+ // the path starts with "/comments". It appears that all links that
+ // don't start with "/comments" are interchangeable with the ones
+ // that do start with "/comments", so manually add that prefix if it is
+ // missing.
return `${redditInstance}/comments${url.pathname}${url.search}`;
}
}