From 21ee6b8542af700dc3d81520c7e62bc2657cb2af Mon Sep 17 00:00:00 2001 From: Jason Kim Date: Thu, 22 Apr 2021 22:43:30 -0700 Subject: [PATCH] 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. --- src/pages/background/background.js | 12 +++++++++--- 1 file 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}`; } }