From 92dfdb7fa411276a3864e74d5184a40f2126217a Mon Sep 17 00:00:00 2001 From: Grace Date: Mon, 2 Feb 2026 20:38:38 +0000 Subject: [PATCH] modified username taken error message --- public/language/en-GB/error.json | 2 +- public/language/en-US/error.json | 2 +- public/src/client/register.js | 2 +- src/topics/create.js | 2 +- src/user/approval.js | 2 +- src/user/create.js | 7 ++++++- src/user/profile.js | 2 +- 7 files changed, 12 insertions(+), 7 deletions(-) diff --git a/public/language/en-GB/error.json b/public/language/en-GB/error.json index b32ccfedfb..c123c3930a 100644 --- a/public/language/en-GB/error.json +++ b/public/language/en-GB/error.json @@ -38,7 +38,7 @@ "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\"", "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", diff --git a/public/language/en-US/error.json b/public/language/en-US/error.json index ea28a9a51c..76f005607b 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\"", "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", diff --git a/public/src/client/register.js b/public/src/client/register.js index f989901e7b..e4ffc4fbea 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, ${username}suffix]]`); } callback(); diff --git a/src/topics/create.js b/src/topics/create.js index 098fba2d41..ec85e41d90 100644 --- a/src/topics/create.js +++ b/src/topics/create.js @@ -298,7 +298,7 @@ module.exports = function (Topics) { } const exists = await user.existsBySlug(slugify(data.handle)); if (exists) { - throw new Error('[[error:username-taken]]'); + throw new Error(`[[error:username-taken, ${data.handle}suffix]]`); } } } diff --git a/src/user/approval.js b/src/user/approval.js index 5067239d8a..47865dcc40 100644 --- a/src/user/approval.js +++ b/src/user/approval.js @@ -43,7 +43,7 @@ module.exports = function (User) { await User.isDataValid(userData); const usernames = await db.getSortedSetRange('registration:queue', 0, -1); if (usernames.includes(userData.username)) { - throw new Error('[[error:username-taken]]'); + throw new Error(`[[error:username-taken, ${userData.username}suffix]]`); } const keys = usernames.filter(Boolean).map(username => `registration:queue:name:${username}`); const data = await db.getObjectsFields(keys, ['email']); diff --git a/src/user/create.js b/src/user/create.js index ee4c3f27e7..f75da113e8 100644 --- a/src/user/create.js +++ b/src/user/create.js @@ -21,7 +21,12 @@ module.exports = function (User) { await User.isDataValid(data); - await lock(data.username, '[[error:username-taken]]'); + const usernameExists = await User.existsBySlug(data.userslug); + if (usernameExists) { + throw new Error(`[[error:username-taken, ${data.username}suffix]]`); + } + + await lock(data.username, `[[error:username-taken, ${data.username}suffix]]`); if (data.email && data.email !== data.username) { await lock(data.email, '[[error:email-taken]]'); } diff --git a/src/user/profile.js b/src/user/profile.js index ec4a23d3a3..82355de8a8 100644 --- a/src/user/profile.js +++ b/src/user/profile.js @@ -188,7 +188,7 @@ module.exports = function (User) { } const exists = await User.existsBySlug(userslug); if (exists) { - throw new Error('[[error:username-taken]]'); + throw new Error(`[[error:username-taken, ${data.username}suffix]]`); } const { error } = await plugins.hooks.fire('filter:username.check', {