From 99d781030830224b42b78e2c5f8a06b435799500 Mon Sep 17 00:00:00 2001 From: Cindy Wang Date: Mon, 19 Jan 2026 20:39:09 +0000 Subject: [PATCH 1/4] fix issue --- src/user/data.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/user/data.js b/src/user/data.js index cd2326281d..4e31715ad0 100644 --- a/src/user/data.js +++ b/src/user/data.js @@ -398,17 +398,27 @@ module.exports = function (User) { }; User.incrementUserFieldBy = async function (uid, field, value) { - return await incrDecrUserFieldBy(uid, field, value, 'increment'); + return await incrDecrUserFieldBy(uid, field, value); }; User.decrementUserFieldBy = async function (uid, field, value) { - return await incrDecrUserFieldBy(uid, field, -value, 'decrement'); + return await incrDecrUserFieldBy(uid, field, -value); }; - async function incrDecrUserFieldBy(uid, field, value, type) { + async function incrDecrUserFieldBy(uid, field, value) { const prefix = `user${activitypub.helpers.isUri(uid) ? 'Remote' : ''}`; const newValue = await db.incrObjectFieldBy(`${prefix}:${uid}`, field, value); - plugins.hooks.fire('action:user.set', { uid: uid, field: field, value: newValue, type: type }); + + let type; + if (value >= 0) { + type = 'increment'; + } else { + type = 'decrement'; + } + + plugins.hooks.fire('action:user.set', { uid, field, value: newValue, type }); + return newValue; } + }; From 69065659f06952491a388343be79aa2277a80b52 Mon Sep 17 00:00:00 2001 From: Cindy Wang Date: Mon, 19 Jan 2026 21:17:47 +0000 Subject: [PATCH 2/4] WIP: add runtime log for incrDecrUserFieldBy manual test --- src/user/data.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/user/data.js b/src/user/data.js index 4e31715ad0..5a7b4bbf9e 100644 --- a/src/user/data.js +++ b/src/user/data.js @@ -408,7 +408,7 @@ module.exports = function (User) { async function incrDecrUserFieldBy(uid, field, value) { const prefix = `user${activitypub.helpers.isUri(uid) ? 'Remote' : ''}`; const newValue = await db.incrObjectFieldBy(`${prefix}:${uid}`, field, value); - + console.log('xinyue_wang'); let type; if (value >= 0) { type = 'increment'; From a30f9805d94fd3e4eb641b362dad68caa80ebe6a Mon Sep 17 00:00:00 2001 From: Cindy Wang Date: Mon, 19 Jan 2026 22:38:36 +0000 Subject: [PATCH 3/4] Refactor (src/user/data.js): reduce parameters in incrDecrUserFieldBy --- src/user/data.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/user/data.js b/src/user/data.js index 5a7b4bbf9e..f6016bf469 100644 --- a/src/user/data.js +++ b/src/user/data.js @@ -408,7 +408,6 @@ module.exports = function (User) { async function incrDecrUserFieldBy(uid, field, value) { const prefix = `user${activitypub.helpers.isUri(uid) ? 'Remote' : ''}`; const newValue = await db.incrObjectFieldBy(`${prefix}:${uid}`, field, value); - console.log('xinyue_wang'); let type; if (value >= 0) { type = 'increment'; From 17c31328e0b28c709ec85d80a0a6343f59853a42 Mon Sep 17 00:00:00 2001 From: Cindy Wang Date: Mon, 2 Feb 2026 19:48:42 +0000 Subject: [PATCH 4/4] Added username suggestion feature --- public/src/client/register.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/src/client/register.js b/public/src/client/register.js index f989901e7b..4accb6add7 100644 --- a/public/src/client/register.js +++ b/public/src/client/register.js @@ -135,7 +135,8 @@ define('forum/register', [ if (results.every(obj => obj.status === 'rejected')) { showSuccess(usernameInput, username_notify, successIcon); } else { - showError(usernameInput, username_notify, '[[error:username-taken]]'); + var suggestion = username + '123'; + showError(usernameInput, username_notify, '[[error:username-taken]] Try ' + suggestion + '?'); } callback();