diff --git a/app/assets/javascripts/discourse/app/controllers/user-private-messages.js b/app/assets/javascripts/discourse/app/controllers/user-private-messages.js index 45c37747bd2..3b66fa6b613 100644 --- a/app/assets/javascripts/discourse/app/controllers/user-private-messages.js +++ b/app/assets/javascripts/discourse/app/controllers/user-private-messages.js @@ -59,7 +59,10 @@ export default class extends Controller { get messagesDropdownContent() { const content = [ { - id: this.router.urlFor("userPrivateMessages.user", this.model.username), + id: this.router.urlFor( + "userPrivateMessages.user", + this.model.username_lower + ), name: I18n.t("user.messages.inbox"), }, ]; @@ -78,7 +81,10 @@ export default class extends Controller { if (this.pmTaggingEnabled) { content.push({ - id: this.router.urlFor("userPrivateMessages.tags", this.model.username), + id: this.router.urlFor( + "userPrivateMessages.tags", + this.model.username_lower + ), name: I18n.t("user.messages.tags"), icon: "tags", }); @@ -86,7 +92,7 @@ export default class extends Controller { customUserNavMessagesDropdownRows.forEach((row) => { content.push({ - id: this.router.urlFor(row.routeName, this.model.username), + id: this.router.urlFor(row.routeName, this.model.username_lower), name: row.name, icon: row.icon, }); diff --git a/app/assets/javascripts/discourse/tests/acceptance/user-private-messages-test.js b/app/assets/javascripts/discourse/tests/acceptance/user-private-messages-test.js index 6875db5cf38..a320b7c2d31 100644 --- a/app/assets/javascripts/discourse/tests/acceptance/user-private-messages-test.js +++ b/app/assets/javascripts/discourse/tests/acceptance/user-private-messages-test.js @@ -19,6 +19,7 @@ import { } from "discourse/lib/topic-list-tracker"; import { withPluginApi } from "discourse/lib/plugin-api"; import { resetCustomUserNavMessagesDropdownRows } from "discourse/controllers/user-private-messages"; +import userFixtures from "discourse/tests/fixtures/user-fixtures"; acceptance( "User Private Messages - user with no group messages", @@ -1046,3 +1047,28 @@ acceptance( }); } ); + +acceptance( + "User Private Messages - user with uppercase username", + function (needs) { + needs.user({ + redesigned_user_page_nav_enabled: true, + }); + + needs.pretender((server, helper) => { + const response = cloneJSON(userFixtures["/u/charlie.json"]); + response.user.username = "chArLIe"; + server.get("/u/charlie.json", () => helper.response(response)); + }); + + test("viewing inbox", async function (assert) { + await visit("/u/charlie/messages"); + + assert.strictEqual( + query(".user-nav-messages-dropdown .selected-name").textContent.trim(), + "Inbox", + "menu defaults to Inbox" + ); + }); + } +);