From a984e1248e1411fc03c70f088c4b9c88f7f44480 Mon Sep 17 00:00:00 2001 From: Cesar Gonzalez Date: Fri, 4 Oct 2024 14:35:43 -0400 Subject: [PATCH 1/3] Add new util function to add random suffix when error appears --- public/src/utils.common.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/src/utils.common.js b/public/src/utils.common.js index dd01af9..2c9e1e2 100644 --- a/public/src/utils.common.js +++ b/public/src/utils.common.js @@ -275,6 +275,14 @@ const HTMLEntities = Object.freeze({ /* eslint-disable no-redeclare */ const utils = { // https://github.com/substack/node-ent/blob/master/index.js + addNewSuffix: function (text, suffixLength) { + const nums = "1234567890"; + let result = ""; + for (let i = 0; i < suffixLength; i++) { + result += nums.charAt(Math.floor(Math.random() * nums.length)); + } + return text + result; + }, decodeHTMLEntities: function (html) { return String(html) .replace(/&#(\d+);?/g, function (_, code) { From c8473526779cd558030c5aef2dfc126049a2cb90 Mon Sep 17 00:00:00 2001 From: Cesar Gonzalez Date: Fri, 4 Oct 2024 14:37:21 -0400 Subject: [PATCH 2/3] Add new feature translations --- public/language/en-GB/error.json | 2 +- public/language/en-US/error.json | 2 +- public/language/es/error.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/language/en-GB/error.json b/public/language/en-GB/error.json index d849187..c634bd1 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 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 f12e15c..34a05f5 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", "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/es/error.json b/public/language/es/error.json index c9a2e45..b85a42d 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -31,7 +31,7 @@ "invalid-path": "Invalid path", "folder-exists": "Folder exists", "invalid-pagination-value": "Número de página inválido, debe estar entre %1 y %2", - "username-taken": "Nombre de usuario ocupado", + "username-taken": "Nombre de usuario ocupado. Puedes intentar con", "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", From cbaadada51d1d2fcd3ab91c8553f01a38941532c Mon Sep 17 00:00:00 2001 From: Cesar Gonzalez Date: Fri, 4 Oct 2024 14:38:10 -0400 Subject: [PATCH 3/3] Implementing suffix function into register js and isolate new username declaration to have more readability --- public/src/client/register.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/src/client/register.js b/public/src/client/register.js index d8144d2..51e28f5 100644 --- a/public/src/client/register.js +++ b/public/src/client/register.js @@ -135,9 +135,9 @@ define('forum/register', [ if (results.every(obj => obj.status === 'rejected')) { showSuccess(usernameInput, username_notify, successIcon); } else { - showError(usernameInput, username_notify, '[[error:username-taken]]'); + const newUsername = utils.addNewSuffix(username, 3); + showError(usernameInput, username_notify, '[[error:username-taken]]' + ' "' + newUsername + '"'); } - callback(); }); }