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(); diff --git a/src/user/data.js b/src/user/data.js index cd2326281d..f6016bf469 100644 --- a/src/user/data.js +++ b/src/user/data.js @@ -398,17 +398,26 @@ 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; } + };