fix: renaming current account with uppercase letters could lead to inconsistent state
Massimo Melina committed
Oct 28, 2025 at 00:49 UTC
50159b182d5349e88622dd65d60ddb4fcb80135c
1 file changed
+3
-3
src/api.accounts.ts
+3
-3
@@ -3,7 +3,7 @@
3
import { ApiError, ApiHandlers } from './apiMiddleware'
4
import {
5
Account, accountCanLoginAdmin, accountHasPassword, accounts, addAccount, delAccount, getAccount,
6
- changeSrpHelper, updateAccount, accountCanLogin, accountCanChangePassword
6
+ changeSrpHelper, updateAccount, accountCanLogin, accountCanChangePassword, normalizeUsername
7
} from './perm'
8
import _ from 'lodash'
9
import { HTTP_BAD_REQUEST, HTTP_CONFLICT, HTTP_NOT_FOUND } from './const'
@@ -62,8 +62,8 @@ export default {
62
if (!acc)
63
return new ApiError(HTTP_BAD_REQUEST)
64
await updateAccount(acc, pickProps(changes, ALLOWED_KEYS))
65
- if (changes.username && ctx.session?.username === username)
66
- ctx.session!.username = changes.username
65
+ if (changes.username && ctx.session?.username === normalizeUsername(username))
66
+ ctx.session!.username = normalizeUsername(changes.username)
67
return _.pick(acc, 'username')
68
},
69