From fec6229ac96709a9cd5c2d688297c86cd7c40cc8 Mon Sep 17 00:00:00 2001 From: ghostteen96 Date: Fri, 28 Nov 2025 09:21:57 -0800 Subject: [PATCH] Add Unicode support for usernames - Allow international characters and emojis in usernames --- resources/lang/en.json | 2 +- src/core/validations/username.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/resources/lang/en.json b/resources/lang/en.json index 5fff955125..4c3f4a3e92 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -251,7 +251,7 @@ "not_string": "Username must be a string.", "too_short": "Username must be at least {min} characters long.", "too_long": "Username must not exceed {max} characters.", - "invalid_chars": "Username can only contain letters, numbers, spaces, underscores, and [square brackets]." + "invalid_chars": "Username can only contain letters (including Unicode), numbers, spaces, underscores, emojis, and [square brackets]." }, "host_modal": { "title": "Private Lobby", diff --git a/src/core/validations/username.ts b/src/core/validations/username.ts index b9d50ccc14..6cb2ef4915 100644 --- a/src/core/validations/username.ts +++ b/src/core/validations/username.ts @@ -22,7 +22,9 @@ const matcher = new RegExpMatcher({ export const MIN_USERNAME_LENGTH = 3; export const MAX_USERNAME_LENGTH = 27; -const validPattern = /^[a-zA-Z0-9_[\] πŸˆπŸ€ΓΌΓœ]+$/u; +// Allow Unicode letters, numbers, spaces, underscores, brackets, and common symbols/emojis +// \p{L} = any Unicode letter, \p{N} = any Unicode number, \p{Emoji} = emojis +const validPattern = /^[\p{L}\p{N}_[\] \p{Emoji}\u{1F300}-\u{1F9FF}]+$/u; const shadowNames = [ "NicePeopleOnly",