diff --git a/.changeset/quiet-dancers-carry.md b/.changeset/quiet-dancers-carry.md new file mode 100644 index 00000000000..06f2940098e --- /dev/null +++ b/.changeset/quiet-dancers-carry.md @@ -0,0 +1,5 @@ +--- +'@clerk/ui': patch +--- + +fix(ui): don't treat numeric usernames as phone numbers diff --git a/packages/ui/src/utils/__tests__/formatSafeIdentifier.test.ts b/packages/ui/src/utils/__tests__/formatSafeIdentifier.test.ts index 4954ddea06c..ac114cafa01 100644 --- a/packages/ui/src/utils/__tests__/formatSafeIdentifier.test.ts +++ b/packages/ui/src/utils/__tests__/formatSafeIdentifier.test.ts @@ -8,6 +8,7 @@ describe('formatSafeIdentifier', () => { ['h***@***.com', 'h***@***.com'], ['username', 'username'], ['u***e', 'u***e'], + ['4245554242', '4245554242'], ['+71111111111', '+7 111 111-11-11'], ['+791*******1', '+791*******1'], ]; diff --git a/packages/ui/src/utils/formatSafeIdentifier.ts b/packages/ui/src/utils/formatSafeIdentifier.ts index 2684f22f6f0..1e2fdfce433 100644 --- a/packages/ui/src/utils/formatSafeIdentifier.ts +++ b/packages/ui/src/utils/formatSafeIdentifier.ts @@ -8,7 +8,7 @@ export const isMaskedIdentifier = (str: string | undefined | null) => str && str * Refer to the tests for examples. */ export const formatSafeIdentifier = (str: string | undefined | null) => { - if (!str || str.includes('@') || isMaskedIdentifier(str) || str.match(/[a-zA-Z]/)) { + if (!str || str.includes('@') || isMaskedIdentifier(str) || str.match(/[a-zA-Z]/) || !str.startsWith('+')) { return str; } return stringToFormattedPhoneString(str);