From 52be017353a3a905d0a82a054d9cbe111ef58d0d Mon Sep 17 00:00:00 2001 From: Connor Carpenter Date: Mon, 2 Feb 2026 13:48:06 -0500 Subject: [PATCH] fix(register): suggest username when taken When a user tries to register with a taken username, suggest a new username with a suffix. --- .gitignore | 2 ++ public/language/en-US/error.json | 4 ++-- public/src/client/register.js | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 17bbb8e5f5..c0d5a57338 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,5 @@ test.sh dump.rdb .archiver_shadow/ .snapshots/ + +start-dev.sh diff --git a/public/language/en-US/error.json b/public/language/en-US/error.json index ea28a9a51c..9b3990f3c8 100644 --- a/public/language/en-US/error.json +++ b/public/language/en-US/error.json @@ -32,7 +32,7 @@ "invalid-path": "Invalid path", "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", - "username-taken": "Username taken", + "username-taken": "Username taken. Maybe try \"%1\" instead?", "email-taken": "Email address is already taken.", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", @@ -265,4 +265,4 @@ "activitypub.origin-mismatch": "The received object's origin does not match the sender's origin", "activitypub.actor-mismatch": "The received activity is being carried out by an actor that is different from expected.", "activitypub.not-implemented": "The request was denied because it or an aspect of it is not implemented by the recipient server" -} \ No newline at end of file +} diff --git a/public/src/client/register.js b/public/src/client/register.js index f989901e7b..bb5c6216d7 100644 --- a/public/src/client/register.js +++ b/public/src/client/register.js @@ -135,7 +135,7 @@ define('forum/register', [ if (results.every(obj => obj.status === 'rejected')) { showSuccess(usernameInput, username_notify, successIcon); } else { - showError(usernameInput, username_notify, '[[error:username-taken]]'); + showError(usernameInput, username_notify, `[[error:username-taken, ${usernameInput.val() + "suffix"}]]`); } callback(); @@ -215,4 +215,4 @@ define('forum/register', [ } return Register; -}); +}); \ No newline at end of file