From f739e42d72f1cbc92a82d93ed5500d08632fdccf Mon Sep 17 00:00:00 2001 From: jaiminfee Date: Mon, 15 Sep 2025 19:59:52 +0000 Subject: [PATCH 1/2] Adds a suffix suggestion if username taken --- public/language/en-GB/error.json | 2 +- public/language/en-US/error.json | 2 +- public/language/en-x-pirate/error.json | 2 +- src/user/profile.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/public/language/en-GB/error.json b/public/language/en-GB/error.json index 6cfc003..23c1eff 100644 --- a/public/language/en-GB/error.json +++ b/public/language/en-GB/error.json @@ -36,7 +36,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", "email-taken": "Email 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 4191fad..6fd761f 100644 --- a/public/language/en-US/error.json +++ b/public/language/en-US/error.json @@ -31,7 +31,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 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-x-pirate/error.json b/public/language/en-x-pirate/error.json index 4191fad..ad0e542 100644 --- a/public/language/en-x-pirate/error.json +++ b/public/language/en-x-pirate/error.json @@ -31,7 +31,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. Try ", "email-taken": "Email taken", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", diff --git a/src/user/profile.js b/src/user/profile.js index 5274a6d..ea01b8c 100644 --- a/src/user/profile.js +++ b/src/user/profile.js @@ -127,7 +127,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, "${userslug}123"]]`); } const { error } = await plugins.hooks.fire('filter:username.check', { From 188b9901ca5d7e36dd85f98fb5db0f7dc0bf76b4 Mon Sep 17 00:00:00 2001 From: jaiminfee Date: Tue, 16 Sep 2025 05:28:19 +0000 Subject: [PATCH 2/2] Fix: taken usernames suggest suffixes --- public/src/client/register.js | 2 +- src/user/approval.js | 2 +- src/user/profile.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/src/client/register.js b/public/src/client/register.js index 62dbc41..21d052e 100644 --- a/public/src/client/register.js +++ b/public/src/client/register.js @@ -131,7 +131,7 @@ define('forum/register', [ if (results.every(obj => obj.status === 'rejected')) { showSuccess(username_notify, successIcon); } else { - showError(username_notify, '[[error:username-taken]]'); + showError(username_notify, `[[error:username-taken, ${username}123]]`); } callback(); diff --git a/src/user/approval.js b/src/user/approval.js index 5a5d7d0..19bb156 100644 --- a/src/user/approval.js +++ b/src/user/approval.js @@ -39,7 +39,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]]`); } const keys = usernames.filter(Boolean).map(username => `registration:queue:name:${username}`); const data = await db.getObjectsFields(keys, ['email']); diff --git a/src/user/profile.js b/src/user/profile.js index ea01b8c..0e499ab 100644 --- a/src/user/profile.js +++ b/src/user/profile.js @@ -127,7 +127,7 @@ module.exports = function (User) { } const exists = await User.existsBySlug(userslug); if (exists) { - throw new Error(`[[error:username-taken, "${userslug}123"]]`); + throw new Error(`[[error:username-taken]]`); } const { error } = await plugins.hooks.fire('filter:username.check', {