diff options
author | Jason Kim <git@jasonk.me> | 2021-04-22 23:32:31 -0700 |
---|---|---|
committer | Jason Kim <git@jasonk.me> | 2021-04-22 23:32:31 -0700 |
commit | 8e11c4885074b2029ec3705415f0191826eaf3ef (patch) | |
tree | f34fb3997e1f302d0903819a4d43903f69c6694e /src | |
parent | fix: add comments prefix if no nested path (diff) | |
download | libredirect-8e11c4885074b2029ec3705415f0191826eaf3ef.zip |
fix: add comments prefix for /foo/
Links that end in trailing slash but don't have "/comments/" should add "/comments" prefix but don't because the regex match succeeds. Fix the regular expression to be more robust and add prefix for paths like - /foo/ - /////foo - /foo///// - ////foo//// and not add prefix for paths like - /comments/foo - /////comments/foo - /comments/////foo - ////comments////foo - ////comments////foo/////
Diffstat (limited to 'src')
-rw-r--r-- | src/pages/background/background.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js index fd0d55a2..4fa36933 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -485,13 +485,16 @@ function redirectReddit(url, initiator, type) { } else if (url.host === "redd.it") { if ( redditInstance.includes("teddit") && - !url.pathname.match(/^\/\S+\//) + !url.pathname.match(/^\/+[^\/]+\/+[^\/]/) ) { - // 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. + // 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}`; } } |