diff --git a/app/assets/javascripts/discourse-common/addon/lib/get-url.js b/app/assets/javascripts/discourse-common/addon/lib/get-url.js index 1981a38bfbe..29a9e56ce14 100644 --- a/app/assets/javascripts/discourse-common/addon/lib/get-url.js +++ b/app/assets/javascripts/discourse-common/addon/lib/get-url.js @@ -15,9 +15,9 @@ export default function getURL(url) { return url; } - const found = url.indexOf(baseUri); + const found = url.startsWith(baseUri); - if (found >= 0 && found < 3) { + if (found) { return url; } if (url[0] !== "/") { diff --git a/app/assets/javascripts/discourse/tests/unit/lib/get-url-test.js b/app/assets/javascripts/discourse/tests/unit/lib/get-url-test.js index 82d86b838a9..626de266790 100644 --- a/app/assets/javascripts/discourse/tests/unit/lib/get-url-test.js +++ b/app/assets/javascripts/discourse/tests/unit/lib/get-url-test.js @@ -60,6 +60,12 @@ module("Unit | Utility | get-url", function () { "relative url has subfolder" ); + assert.equal( + getURL("/u/forumadmin"), + "/forum/u/forumadmin", + "relative url has subfolder even if username contains subfolder" + ); + assert.equal( getURL(""), "/forum",