diff options
author | Jason Kim <git@jasonk.me> | 2021-04-22 22:43:30 -0700 |
---|---|---|
committer | Jason Kim <git@jasonk.me> | 2021-04-22 23:00:09 -0700 |
commit | 21ee6b8542af700dc3d81520c7e62bc2657cb2af (patch) | |
tree | 9f728e96ca2a4124420ff70e16bb498e1d612c42 /src | |
parent | feat: support teddit by adding /comments hint (diff) | |
download | libredirect-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.
Diffstat (limited to 'src')
-rw-r--r-- | src/pages/background/background.js | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 82f65a20..d3ec06ca 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}`; } } |