From 7b5f386fcf56012948eb27749958d4f940b17a96 Mon Sep 17 00:00:00 2001 From: Vaggelis Yfantis Date: Thu, 4 Dec 2025 20:41:59 +0200 Subject: [PATCH 1/3] fix(clerk-js,localizations): Show `form_new_password_matches_current` error message directly on password error and added localizations --- packages/clerk-js/rspack.config.js | 2 +- .../__tests__/TaskResetPassword.test.tsx | 38 +++++++++++++++++++ .../clerk-js/src/ui/utils/passwordUtils.ts | 6 ++- packages/localizations/src/ar-SA.ts | 1 + packages/localizations/src/be-BY.ts | 1 + packages/localizations/src/bg-BG.ts | 1 + packages/localizations/src/bn-IN.ts | 1 + packages/localizations/src/ca-ES.ts | 1 + packages/localizations/src/cs-CZ.ts | 1 + packages/localizations/src/da-DK.ts | 1 + packages/localizations/src/de-DE.ts | 1 + packages/localizations/src/el-GR.ts | 1 + packages/localizations/src/en-GB.ts | 1 + packages/localizations/src/en-US.ts | 1 + packages/localizations/src/es-CR.ts | 1 + packages/localizations/src/es-ES.ts | 1 + packages/localizations/src/es-MX.ts | 1 + packages/localizations/src/es-UY.ts | 1 + packages/localizations/src/fa-IR.ts | 1 + packages/localizations/src/fi-FI.ts | 1 + packages/localizations/src/fr-FR.ts | 1 + packages/localizations/src/he-IL.ts | 1 + packages/localizations/src/hi-IN.ts | 1 + packages/localizations/src/hr-HR.ts | 1 + packages/localizations/src/hu-HU.ts | 1 + packages/localizations/src/id-ID.ts | 1 + packages/localizations/src/is-IS.ts | 1 + packages/localizations/src/it-IT.ts | 1 + packages/localizations/src/ja-JP.ts | 1 + packages/localizations/src/kk-KZ.ts | 1 + packages/localizations/src/ko-KR.ts | 1 + packages/localizations/src/mn-MN.ts | 1 + packages/localizations/src/ms-MY.ts | 1 + packages/localizations/src/nb-NO.ts | 1 + packages/localizations/src/nl-BE.ts | 1 + packages/localizations/src/nl-NL.ts | 1 + packages/localizations/src/pl-PL.ts | 1 + packages/localizations/src/pt-BR.ts | 1 + packages/localizations/src/pt-PT.ts | 1 + packages/localizations/src/ro-RO.ts | 1 + packages/localizations/src/ru-RU.ts | 1 + packages/localizations/src/sk-SK.ts | 1 + packages/localizations/src/sr-RS.ts | 1 + packages/localizations/src/sv-SE.ts | 1 + packages/localizations/src/ta-IN.ts | 1 + packages/localizations/src/te-IN.ts | 1 + packages/localizations/src/th-TH.ts | 1 + packages/localizations/src/tr-TR.ts | 1 + packages/localizations/src/uk-UA.ts | 1 + packages/localizations/src/vi-VN.ts | 1 + packages/localizations/src/zh-CN.ts | 1 + packages/localizations/src/zh-TW.ts | 1 + packages/shared/src/types/localization.ts | 1 + 53 files changed, 94 insertions(+), 2 deletions(-) diff --git a/packages/clerk-js/rspack.config.js b/packages/clerk-js/rspack.config.js index 9b082397aa8..30d6702550b 100644 --- a/packages/clerk-js/rspack.config.js +++ b/packages/clerk-js/rspack.config.js @@ -562,7 +562,7 @@ const devConfig = ({ mode, env }) => { const variant = env.variant || variants.clerkBrowser; // accept an optional devOrigin environment option to change the origin of the dev server. // By default we use https://js.lclclerk.com which is what our local dev proxy looks for. - const devUrl = new URL(env.devOrigin || 'https://js.lclclerk.com'); + const devUrl = new URL(env.devOrigin || 'http://localhost:4000'); const isSandbox = !!env.sandbox; const port = Number(new URL(env.devOrigin ?? 'http://localhost:4000').port || 4000); diff --git a/packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskResetPassword/__tests__/TaskResetPassword.test.tsx b/packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskResetPassword/__tests__/TaskResetPassword.test.tsx index 6f802696eca..9e7c79b6ea2 100644 --- a/packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskResetPassword/__tests__/TaskResetPassword.test.tsx +++ b/packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskResetPassword/__tests__/TaskResetPassword.test.tsx @@ -1,3 +1,4 @@ +import { ClerkAPIResponseError } from '@clerk/shared/error'; import userEvent from '@testing-library/user-event'; import { describe, expect, it } from 'vitest'; @@ -64,6 +65,43 @@ describe('TaskResetPassword', () => { }); }); + it('giving the same password as the current password, should show an error', async () => { + const { wrapper, fixtures } = await createFixtures(f => { + f.withUser({ + email_addresses: ['test@clerk.com'], + identifier: 'test@clerk.com', + tasks: [{ key: 'reset-password' }], + }); + f.withPassword(); + }); + + const errJSON = { + code: 'form_new_password_matches_current', + long_message: 'New password cannot be the same as the current password.', + message: 'New password cannot be the same as the current password.', + meta: { param_name: 'newPassword' }, + }; + + fixtures.clerk.user?.updatePassword.mockResolvedValueOnce( + new ClerkAPIResponseError('Error', { + data: [errJSON], + status: 422, + }), + ); + const { getByRole, userEvent, getByLabelText, findByText } = render(, { wrapper }); + await waitFor(() => getByRole('heading', { name: /Reset password/i })); + + await userEvent.type(getByLabelText(/new password/i), 'itsthesamepassword'); + await userEvent.type(getByLabelText(/confirm password/i), 'itsthesamepassword'); + await userEvent.click(getByRole('button', { name: /reset password$/i })); + expect(fixtures.clerk.user?.updatePassword).toHaveBeenCalledWith({ + newPassword: 'itsthesamepassword', + signOutOfOtherSessions: true, + }); + + await waitFor(() => expect(findByText(/new password cannot be the same as the current password/i)).toBeVisible()); + }); + it('renders a hidden identifier field', async () => { const { wrapper } = await createFixtures(f => { f.withUser({ diff --git a/packages/clerk-js/src/ui/utils/passwordUtils.ts b/packages/clerk-js/src/ui/utils/passwordUtils.ts index f1091b5730c..9860a11d82c 100644 --- a/packages/clerk-js/src/ui/utils/passwordUtils.ts +++ b/packages/clerk-js/src/ui/utils/passwordUtils.ts @@ -37,7 +37,11 @@ export const createPasswordError = (errors: ClerkAPIError[], localizationConfig: const { t, locale, passwordSettings } = localizationConfig; - if (errors?.[0]?.code === 'form_password_size_in_bytes_exceeded' || errors?.[0]?.code === 'form_password_pwned') { + if ( + errors?.[0]?.code === 'form_password_size_in_bytes_exceeded' || + errors?.[0]?.code === 'form_password_pwned' || + errors?.[0]?.code === 'form_new_password_matches_current' + ) { return `${t(localizationKeys(`unstable__errors.${errors?.[0]?.code}` as any)) || errors?.[0]?.message}`; } diff --git a/packages/localizations/src/ar-SA.ts b/packages/localizations/src/ar-SA.ts index 28143c90a2d..b59cd2cebd2 100644 --- a/packages/localizations/src/ar-SA.ts +++ b/packages/localizations/src/ar-SA.ts @@ -883,6 +883,7 @@ export const arSA: LocalizationResource = { form_identifier_exists__phone_number: 'تم إستخدام رقم الهاتف هذا. يرجى المحاولة مرة أخرى', form_identifier_exists__username: 'تم إستخدام اسم المستخدمد هذا. يرجى المحاولة مرة أخرى', form_identifier_not_found: 'لم يتم العثور على حساب بهذه التفاصيل', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'يجب أستعمال بريد إلكتروني صالح', form_param_format_invalid__phone_number: 'Phone number must be in a valid international format', diff --git a/packages/localizations/src/be-BY.ts b/packages/localizations/src/be-BY.ts index b0747a0a68a..d0a47d4b08e 100644 --- a/packages/localizations/src/be-BY.ts +++ b/packages/localizations/src/be-BY.ts @@ -891,6 +891,7 @@ export const beBY: LocalizationResource = { form_identifier_exists__phone_number: 'Гэты нумар тэлефона ўжо выкарыстоўваецца.', form_identifier_exists__username: 'Гэта імя ўжо занята.', form_identifier_not_found: 'Мы не знойдзем акаўнта з такімі данымі.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Адрас электроннай пошты павінен быць сапраўдным адрасам электроннай пошты.', diff --git a/packages/localizations/src/bg-BG.ts b/packages/localizations/src/bg-BG.ts index 41073458051..94aa6fe8b78 100644 --- a/packages/localizations/src/bg-BG.ts +++ b/packages/localizations/src/bg-BG.ts @@ -885,6 +885,7 @@ export const bgBG: LocalizationResource = { form_identifier_exists__phone_number: 'Този телефонен номер вече е използван.', form_identifier_exists__username: 'Това потребителско име вече съществува.', form_identifier_not_found: 'Не можем да намерим този идентификатор.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Имейл адресът не е във валиден формат.', form_param_format_invalid__phone_number: 'Телефонният номер не е във валиден формат.', diff --git a/packages/localizations/src/bn-IN.ts b/packages/localizations/src/bn-IN.ts index b399b3aac91..94af4a52344 100644 --- a/packages/localizations/src/bn-IN.ts +++ b/packages/localizations/src/bn-IN.ts @@ -892,6 +892,7 @@ export const bnIN: LocalizationResource = { form_identifier_exists__username: 'এই ব্যবহারকারীর নাম ব্যবহৃত হয়েছে। দয়া করে অন্য একটি ব্যবহার করুন।', form_identifier_not_found: 'এই শনাক্তকারী দিয়ে কোনো অ্যাকাউন্ট পাওয়া যায়নি। দয়া করে চেক করুন এবং আবার চেষ্টা করুন।', + form_new_password_matches_current: undefined, form_param_format_invalid: 'লেখা মানটি একটি অবৈধ ফরম্যাটে আছে। দয়া করে চেক করুন এবং সংশোধন করুন।', form_param_format_invalid__email_address: 'ইমেইল ঠিকানা একটি বৈধ ইমেইল ঠিকানা হতে হবে।', form_param_format_invalid__phone_number: 'ফোন নম্বর একটি বৈধ আন্তর্জাতিক ফরম্যাটে হতে হবে।', diff --git a/packages/localizations/src/ca-ES.ts b/packages/localizations/src/ca-ES.ts index 1af94c25ed4..05b60a064d8 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -886,6 +886,7 @@ export const caES: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: 'No hem trobat cap compte amb aquests detalls.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Format de paràmetre no vàlid.', form_param_format_invalid__email_address: "L'adreça de correu electrònic ha de ser una adreça vàlida.", form_param_format_invalid__phone_number: 'El número de telèfon ha de tenir un format internacional vàlid.', diff --git a/packages/localizations/src/cs-CZ.ts b/packages/localizations/src/cs-CZ.ts index 25d3602a745..94368727d00 100644 --- a/packages/localizations/src/cs-CZ.ts +++ b/packages/localizations/src/cs-CZ.ts @@ -897,6 +897,7 @@ export const csCZ: LocalizationResource = { form_identifier_exists__phone_number: 'Toto telefonní číslo již bylo použito.', form_identifier_exists__username: 'Toto uživatelské jméno již bylo použito.', form_identifier_not_found: 'Nebyl nalezen účet s těmihle detaily.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Formát parametru je neplatný.', form_param_format_invalid__email_address: 'Emailová adresa musí být platná.', form_param_format_invalid__phone_number: 'Telefonní číslo musí být ve validním mezinárodním formátu.', diff --git a/packages/localizations/src/da-DK.ts b/packages/localizations/src/da-DK.ts index 1c03e120293..3bd3845d890 100644 --- a/packages/localizations/src/da-DK.ts +++ b/packages/localizations/src/da-DK.ts @@ -884,6 +884,7 @@ export const daDK: LocalizationResource = { form_identifier_exists__phone_number: 'Telefonnummeret er allerede i brug.', form_identifier_exists__username: 'Brugernavnet er allerede i brug.', form_identifier_not_found: 'Vi kunne ikke finde en konto med disse detaljer.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Formatet er ugyldigt.', form_param_format_invalid__email_address: 'E-mailadressen skal være en gyldig e-mailadresse.', form_param_format_invalid__phone_number: 'Telefonnummeret skal være i et gyldigt internationalt format.', diff --git a/packages/localizations/src/de-DE.ts b/packages/localizations/src/de-DE.ts index 4a57fc3a735..5cd41cc10f3 100644 --- a/packages/localizations/src/de-DE.ts +++ b/packages/localizations/src/de-DE.ts @@ -901,6 +901,7 @@ export const deDE: LocalizationResource = { form_identifier_exists__phone_number: 'Diese Telefonnummer ist bereits vergeben. Bitte wählen Sie eine andere.', form_identifier_exists__username: 'Dieser Benutzername ist bereits vergeben. Bitte wählen Sie einen anderen.', form_identifier_not_found: 'Wir konnten kein Konto mit diesen Details finden.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Das Format des eingegebenen Parameters ist ungültig.', form_param_format_invalid__email_address: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.', form_param_format_invalid__phone_number: 'Die Telefonnummer muss ein gültiges internationales Format haben.', diff --git a/packages/localizations/src/el-GR.ts b/packages/localizations/src/el-GR.ts index 0bcb5b3bc0e..213c34eed5f 100644 --- a/packages/localizations/src/el-GR.ts +++ b/packages/localizations/src/el-GR.ts @@ -888,6 +888,7 @@ export const elGR: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: 'Δεν βρέθηκε λογαριασμός με αυτές τις λεπτομέρειες.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Η διεύθυνση email πρέπει να είναι μια έγκυρη διεύθυνση email.', form_param_format_invalid__phone_number: 'Phone number must be in a valid international format', diff --git a/packages/localizations/src/en-GB.ts b/packages/localizations/src/en-GB.ts index d97e70d64df..815d1636966 100644 --- a/packages/localizations/src/en-GB.ts +++ b/packages/localizations/src/en-GB.ts @@ -888,6 +888,7 @@ export const enGB: LocalizationResource = { form_identifier_exists__phone_number: 'This phone number is taken. Please try another.', form_identifier_exists__username: 'This username is taken. Please try another.', form_identifier_not_found: "We couldn't find an account with those details.", + form_new_password_matches_current: undefined, form_param_format_invalid: 'The value entered is in an invalid format. Please check and correct it.', form_param_format_invalid__email_address: 'Email address must be a valid email address.', form_param_format_invalid__phone_number: 'Phone number must be in a valid international format.', diff --git a/packages/localizations/src/en-US.ts b/packages/localizations/src/en-US.ts index 380c4dc31d7..cf69812d4ce 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -884,6 +884,7 @@ export const enUS: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: undefined, + form_new_password_matches_current: 'New password cannot be the same as the current password.', form_param_format_invalid: undefined, form_param_format_invalid__email_address: undefined, form_param_format_invalid__phone_number: undefined, diff --git a/packages/localizations/src/es-CR.ts b/packages/localizations/src/es-CR.ts index 213a7556a69..e9f7b95b36f 100644 --- a/packages/localizations/src/es-CR.ts +++ b/packages/localizations/src/es-CR.ts @@ -893,6 +893,7 @@ export const esCR: LocalizationResource = { form_identifier_exists__phone_number: 'El número telefónico ya existe.', form_identifier_exists__username: 'El nombre de usuario ya existe.', form_identifier_not_found: 'No se encontró una cuenta, intenta de nuevo.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Formato inválido.', form_param_format_invalid__email_address: 'El correo electrónico debe ser válido.', form_param_format_invalid__phone_number: 'El número telefónico debe ser en un formato válido internacional.', diff --git a/packages/localizations/src/es-ES.ts b/packages/localizations/src/es-ES.ts index 636f8be93a5..9706019550d 100644 --- a/packages/localizations/src/es-ES.ts +++ b/packages/localizations/src/es-ES.ts @@ -887,6 +887,7 @@ export const esES: LocalizationResource = { form_identifier_exists__phone_number: 'Ya existe una cuenta con este número de teléfono.', form_identifier_exists__username: 'Ya existe una cuenta con este nombre de usuario.', form_identifier_not_found: 'No se ha encontrado ninguna cuenta con este identificador.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Formato de parámetro inválido.', form_param_format_invalid__email_address: 'La dirección de correo electrónico debe ser una dirección de correo electrónico válida.', diff --git a/packages/localizations/src/es-MX.ts b/packages/localizations/src/es-MX.ts index f686ac06b21..79084cefd85 100644 --- a/packages/localizations/src/es-MX.ts +++ b/packages/localizations/src/es-MX.ts @@ -894,6 +894,7 @@ export const esMX: LocalizationResource = { form_identifier_exists__phone_number: 'El número telefónico ya existe.', form_identifier_exists__username: 'El nombre de usuario ya existe.', form_identifier_not_found: 'No se encontró una cuenta con esos detalles.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Formato inválido.', form_param_format_invalid__email_address: 'El correo electrónico debe ser válido.', form_param_format_invalid__phone_number: 'El número telefónico debe ser en un formato válido internacional.', diff --git a/packages/localizations/src/es-UY.ts b/packages/localizations/src/es-UY.ts index 2de2c9f8dd4..9bf2bf8f551 100644 --- a/packages/localizations/src/es-UY.ts +++ b/packages/localizations/src/es-UY.ts @@ -893,6 +893,7 @@ export const esUY: LocalizationResource = { form_identifier_exists__phone_number: 'Este número de teléfono ya está en uso. Por favor, probá con otro.', form_identifier_exists__username: 'Este nombre de usuario ya está en uso. Por favor, probá con otro.', form_identifier_not_found: 'No se encontró una cuenta con esos detalles.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'El valor ingresado tiene un formato inválido. Por favor, verificá y corregí.', form_param_format_invalid__email_address: 'El correo electrónico debe ser válido.', form_param_format_invalid__phone_number: 'El número de teléfono debe estar en un formato internacional válido.', diff --git a/packages/localizations/src/fa-IR.ts b/packages/localizations/src/fa-IR.ts index 207f624ab1e..341d2946809 100644 --- a/packages/localizations/src/fa-IR.ts +++ b/packages/localizations/src/fa-IR.ts @@ -896,6 +896,7 @@ export const faIR: LocalizationResource = { form_identifier_exists__phone_number: 'این شماره تلفن قبلاً استفاده شده است.', form_identifier_exists__username: 'این نام کاربری قبلاً گرفته شده است.', form_identifier_not_found: 'شناسه یافت نشد.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'فرمت پارامتر نامعتبر است.', form_param_format_invalid__email_address: 'آدرس ایمیل نامعتبر است.', form_param_format_invalid__phone_number: 'شماره تلفن نامعتبر است.', diff --git a/packages/localizations/src/fi-FI.ts b/packages/localizations/src/fi-FI.ts index 79c278071f2..1f5b3c78f58 100644 --- a/packages/localizations/src/fi-FI.ts +++ b/packages/localizations/src/fi-FI.ts @@ -887,6 +887,7 @@ export const fiFI: LocalizationResource = { form_identifier_exists__phone_number: 'Tämä puhelinnumero on jo käytössä. Kokeile toista.', form_identifier_exists__username: 'Tämä käyttäjänimi on jo käytössä. Kokeile toista.', form_identifier_not_found: 'Ei voi löytää tiliä näillä tiedoilla.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Sähköpostiosoiteen tulee olla kelvollinen.', form_param_format_invalid__phone_number: 'Puhelinnumeron on oltava kelvollisessa kansainvälisessä muodossa', diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index a038f4347dd..d1a68a8ab15 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -902,6 +902,7 @@ export const frFR: LocalizationResource = { form_identifier_exists__phone_number: 'Ce numéro de téléphone existe déjà.', form_identifier_exists__username: "Ce nom d'utilisateur existe déjà.", form_identifier_not_found: "Nous n'avons pas trouvé de compte avec ces détails.", + form_new_password_matches_current: undefined, form_param_format_invalid: 'Le format est invalide', form_param_format_invalid__email_address: "L'adresse e-mail doit être une adresse e-mail valide.", form_param_format_invalid__phone_number: 'Le numéro de téléphone doit être au format international.', diff --git a/packages/localizations/src/he-IL.ts b/packages/localizations/src/he-IL.ts index 75528acfb7f..eace0e6d2f5 100644 --- a/packages/localizations/src/he-IL.ts +++ b/packages/localizations/src/he-IL.ts @@ -875,6 +875,7 @@ export const heIL: LocalizationResource = { form_identifier_exists__phone_number: 'מספר הטלפון הזה כבר תפוס. אנא נסה מספר אחר.', form_identifier_exists__username: 'שם המשתמש הזה כבר תפוס. אנא נסה שם משתמש אחר', form_identifier_not_found: 'לא ניתן למצוא חשבון עם אלו הפרטים.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'כתובת האימייל חייבת להיות כתובת אימייל תקינה.', form_param_format_invalid__phone_number: 'מספר הטלפון חייב להיות בפורמט בינלאומי תקין.', diff --git a/packages/localizations/src/hi-IN.ts b/packages/localizations/src/hi-IN.ts index 4c49e58c1fb..f91fa0afc99 100644 --- a/packages/localizations/src/hi-IN.ts +++ b/packages/localizations/src/hi-IN.ts @@ -891,6 +891,7 @@ export const hiIN: LocalizationResource = { form_identifier_exists__phone_number: 'यह फोन नंबर पहले से लिया गया है। कृपया दूसरा प्रयास करें।', form_identifier_exists__username: 'यह उपयोगकर्ता नाम पहले से लिया गया है। कृपया दूसरा प्रयास करें।', form_identifier_not_found: 'इस पहचानकर्ता के साथ कोई खाता नहीं मिला। कृपया जांचें और पुनः प्रयास करें।', + form_new_password_matches_current: undefined, form_param_format_invalid: 'दर्ज किया गया मान अमान्य प्रारूप में है। कृपया इसे जांचें और सही करें।', form_param_format_invalid__email_address: 'ईमेल पता एक वैध ईमेल पता होना चाहिए।', form_param_format_invalid__phone_number: 'फोन नंबर एक वैध अंतरराष्ट्रीय प्रारूप में होना चाहिए।', diff --git a/packages/localizations/src/hr-HR.ts b/packages/localizations/src/hr-HR.ts index 4121c556338..2f9d26cef95 100644 --- a/packages/localizations/src/hr-HR.ts +++ b/packages/localizations/src/hr-HR.ts @@ -888,6 +888,7 @@ export const hrHR: LocalizationResource = { form_identifier_exists__phone_number: 'Ovaj telefonski broj je zauzet. Molimo pokušajte s drugim.', form_identifier_exists__username: 'Ovo korisničko ime je zauzeto. Molimo pokušajte s drugim.', form_identifier_not_found: 'Nismo pronašli račun s tim podacima.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'E-mail adresa mora biti valjana e-mail adresa.', form_param_format_invalid__phone_number: 'Telefonski broj mora biti u valjanom međunarodnom formatu', diff --git a/packages/localizations/src/hu-HU.ts b/packages/localizations/src/hu-HU.ts index 6e6a5b6c2ab..4c22a8875fb 100644 --- a/packages/localizations/src/hu-HU.ts +++ b/packages/localizations/src/hu-HU.ts @@ -885,6 +885,7 @@ export const huHU: LocalizationResource = { form_identifier_exists__phone_number: 'Ez a telefonszám már foglalt. Kérlek próbálj egy másikat.', form_identifier_exists__username: 'Ez a felhasználónév már foglalt. Kérlek próbálj egy másikat.', form_identifier_not_found: 'Nem találtunk fiókot ezekkel a részletekkel.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Az email címnek érvényes email címnek kell lennie.', form_param_format_invalid__phone_number: 'A telefonszámnak érvényes telefonszámnak kell lennie.', diff --git a/packages/localizations/src/id-ID.ts b/packages/localizations/src/id-ID.ts index 8d41059fda4..3464d3e432c 100644 --- a/packages/localizations/src/id-ID.ts +++ b/packages/localizations/src/id-ID.ts @@ -892,6 +892,7 @@ export const idID: LocalizationResource = { form_identifier_exists__phone_number: 'Nomor telepon ini sudah digunakan. Silakan coba yang lain.', form_identifier_exists__username: 'Nama pengguna ini sudah digunakan. Silakan coba yang lain.', form_identifier_not_found: 'Kami tidak dapat menemukan akun dengan detail tersebut.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Alamat email harus berupa alamat email yang valid.', form_param_format_invalid__phone_number: 'Nomor telepon harus dalam format internasional yang valid', diff --git a/packages/localizations/src/is-IS.ts b/packages/localizations/src/is-IS.ts index d404701f2b5..432efca6dd2 100644 --- a/packages/localizations/src/is-IS.ts +++ b/packages/localizations/src/is-IS.ts @@ -888,6 +888,7 @@ export const isIS: LocalizationResource = { form_identifier_exists__phone_number: 'Þetta símanúmer er þegar í notkun. Vinsamlegast reyndu annað.', form_identifier_exists__username: 'Þetta notendanafn er þegar í notkun. Vinsamlegast reyndu annað.', form_identifier_not_found: 'Við getum ekki fundið reikning með þessum upplýsingum.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Netfang verður að vera gilt netfang.', form_param_format_invalid__phone_number: 'Símanúmer verður að vera á giltu alþjóðlegu formi', diff --git a/packages/localizations/src/it-IT.ts b/packages/localizations/src/it-IT.ts index 23504a4b538..47b07ce8982 100644 --- a/packages/localizations/src/it-IT.ts +++ b/packages/localizations/src/it-IT.ts @@ -894,6 +894,7 @@ export const itIT: LocalizationResource = { form_identifier_exists__phone_number: 'Questo numero di telefono è già registrato.', form_identifier_exists__username: 'Questo username è già in uso.', form_identifier_not_found: 'Non abbiamo trovato nessun account con queste informazioni.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Formato non valido.', form_param_format_invalid__email_address: "L'indirizzo email deve essere un indirizzo email valido.", form_param_format_invalid__phone_number: 'Il numero di telefono deve essere in un formato internazionale valido.', diff --git a/packages/localizations/src/ja-JP.ts b/packages/localizations/src/ja-JP.ts index 69d76227aa5..8d74fa5aefb 100644 --- a/packages/localizations/src/ja-JP.ts +++ b/packages/localizations/src/ja-JP.ts @@ -897,6 +897,7 @@ export const jaJP: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: undefined, + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: undefined, form_param_format_invalid__phone_number: undefined, diff --git a/packages/localizations/src/kk-KZ.ts b/packages/localizations/src/kk-KZ.ts index 5a185e72d41..0d4d60b4a89 100644 --- a/packages/localizations/src/kk-KZ.ts +++ b/packages/localizations/src/kk-KZ.ts @@ -876,6 +876,7 @@ export const kkKZ: LocalizationResource = { form_identifier_exists__phone_number: 'Бұл телефон нөмірі тіркелген. Басқасын қолданыңыз.', form_identifier_exists__username: 'Бұл пайдаланушы аты тіркелген. Басқасын қолданыңыз.', form_identifier_not_found: 'Есептік жазба табылмады. Дұрыстығын тексеріңіз.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Енгізілген мән жарамсыз пішімде.', form_param_format_invalid__email_address: 'Электрондық пошта жарамсыз.', form_param_format_invalid__phone_number: 'Телефон нөмірі жарамсыз.', diff --git a/packages/localizations/src/ko-KR.ts b/packages/localizations/src/ko-KR.ts index a3fc0a74a4c..ac45934d26c 100644 --- a/packages/localizations/src/ko-KR.ts +++ b/packages/localizations/src/ko-KR.ts @@ -879,6 +879,7 @@ export const koKR: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: '이 세부 정보와 일치하는 계정을 찾을 수 없습니다.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Email address must be a valid email address.', form_param_format_invalid__phone_number: 'Phone number must be in a valid international format', diff --git a/packages/localizations/src/mn-MN.ts b/packages/localizations/src/mn-MN.ts index 8d2437bfe52..195bd04f08d 100644 --- a/packages/localizations/src/mn-MN.ts +++ b/packages/localizations/src/mn-MN.ts @@ -886,6 +886,7 @@ export const mnMN: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: 'Тодорхойлогч олдсонгүй.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Параметрийн формат буруу.', form_param_format_invalid__email_address: 'Имэйл хаяг нь хүчинтэй имэйл хаяг байх ёстой.', form_param_format_invalid__phone_number: 'Утасны дугаар нь олон улсын хүчинтэй форматтай байх ёстой', diff --git a/packages/localizations/src/ms-MY.ts b/packages/localizations/src/ms-MY.ts index 0091af6a8d9..d2c04c882aa 100644 --- a/packages/localizations/src/ms-MY.ts +++ b/packages/localizations/src/ms-MY.ts @@ -894,6 +894,7 @@ export const msMY: LocalizationResource = { form_identifier_exists__phone_number: 'Nombor telefon ini telah diambil. Sila cuba yang lain.', form_identifier_exists__username: 'Nama pengguna ini telah diambil. Sila cuba yang lain.', form_identifier_not_found: 'Tiada akaun dijumpai dengan pengenal ini. Sila periksa dan cuba lagi.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Nilai yang dimasukkan adalah dalam format yang tidak sah. Sila periksa dan betulkannya.', form_param_format_invalid__email_address: 'Alamat e-mel mestilah alamat e-mel yang sah.', diff --git a/packages/localizations/src/nb-NO.ts b/packages/localizations/src/nb-NO.ts index 0576cdbe540..2e38c4b01e0 100644 --- a/packages/localizations/src/nb-NO.ts +++ b/packages/localizations/src/nb-NO.ts @@ -885,6 +885,7 @@ export const nbNO: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: 'Vi klarte ikke finne en konto med disse detaljene.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'E-postadressen må være en gyldig e-postadresse', form_param_format_invalid__phone_number: 'Telefonnummeret må være i et gyldig internasjonalt format', diff --git a/packages/localizations/src/nl-BE.ts b/packages/localizations/src/nl-BE.ts index c4a8d266ac7..1f68109e066 100644 --- a/packages/localizations/src/nl-BE.ts +++ b/packages/localizations/src/nl-BE.ts @@ -886,6 +886,7 @@ export const nlBE: LocalizationResource = { form_identifier_exists__phone_number: 'Dit telefoonnummer is al in gebruik.', form_identifier_exists__username: 'Deze gebruikersnaam is al in gebruik.', form_identifier_not_found: 'We konden geen account vinden met deze details.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Het formaat van het ingevoerde gegeven is ongeldig.', form_param_format_invalid__email_address: 'E-mailadres moet een geldig e-mailadres zijn.', form_param_format_invalid__phone_number: 'Telefoonnummer moet een geldig internationaal nummer zijn.', diff --git a/packages/localizations/src/nl-NL.ts b/packages/localizations/src/nl-NL.ts index d52e28fb6d8..e5664874709 100644 --- a/packages/localizations/src/nl-NL.ts +++ b/packages/localizations/src/nl-NL.ts @@ -886,6 +886,7 @@ export const nlNL: LocalizationResource = { form_identifier_exists__phone_number: 'Dit telefoonnummer is al in gebruik.', form_identifier_exists__username: 'Deze gebruikersnaam is al in gebruik.', form_identifier_not_found: 'We konden geen account vinden met deze details.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Het formaat van het ingevoerde gegeven is ongeldig.', form_param_format_invalid__email_address: 'E-mailadres moet een geldig e-mailadres zijn.', form_param_format_invalid__phone_number: 'Telefoonnummer moet een geldig internationaal nummer zijn.', diff --git a/packages/localizations/src/pl-PL.ts b/packages/localizations/src/pl-PL.ts index e480748b435..cef5c9ef819 100644 --- a/packages/localizations/src/pl-PL.ts +++ b/packages/localizations/src/pl-PL.ts @@ -891,6 +891,7 @@ export const plPL: LocalizationResource = { form_identifier_exists__phone_number: 'Ten numer telefonu jest zajęty. Spróbuj użyć innego.', form_identifier_exists__username: 'Ta nazwa użytkownika jest zajęta. Spróbuj użyć innej.', form_identifier_not_found: 'Nie znaleziono konta o tym identyfikatorze. Sprawdź i spróbuj ponownie.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Wprowadzona wartość ma nieprawidłowy format. Sprawdź i popraw ją.', form_param_format_invalid__email_address: 'Adres e-mail powinien być poprawnym adresem e-mail.', form_param_format_invalid__phone_number: 'Numer telefonu powinien mieć prawidłowy format międzynarodowy', diff --git a/packages/localizations/src/pt-BR.ts b/packages/localizations/src/pt-BR.ts index 291ec7d640f..6ad6dfa3430 100644 --- a/packages/localizations/src/pt-BR.ts +++ b/packages/localizations/src/pt-BR.ts @@ -898,6 +898,7 @@ export const ptBR: LocalizationResource = { form_identifier_exists__phone_number: 'Telefone já está em uso. Por favor, tente outro.', form_identifier_exists__username: 'Nome de usuário já está em uso. Por favor, tente outro.', form_identifier_not_found: 'Não foi possível encontrar o usuário.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Formato inválido.', form_param_format_invalid__email_address: 'O endereço de e-mail deve ser um endereço de e-mail válido.', form_param_format_invalid__phone_number: 'Número de telefone precisa estar num formato internacional válido.', diff --git a/packages/localizations/src/pt-PT.ts b/packages/localizations/src/pt-PT.ts index 72c5d76da41..42a7898069c 100644 --- a/packages/localizations/src/pt-PT.ts +++ b/packages/localizations/src/pt-PT.ts @@ -884,6 +884,7 @@ export const ptPT: LocalizationResource = { form_identifier_exists__phone_number: 'O número de telemóvel já está em uso.', form_identifier_exists__username: 'O nome de utilizador já está em uso.', form_identifier_not_found: 'Não foi possível encontrar uma conta com esses detalhes.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Formato de parâmetro inválido.', form_param_format_invalid__email_address: 'O endereço de e-mail deve ser válido.', form_param_format_invalid__phone_number: 'O número de telemóvel deve ser válido.', diff --git a/packages/localizations/src/ro-RO.ts b/packages/localizations/src/ro-RO.ts index 49e08a6e800..51b72d15862 100644 --- a/packages/localizations/src/ro-RO.ts +++ b/packages/localizations/src/ro-RO.ts @@ -898,6 +898,7 @@ export const roRO: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: undefined, + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: undefined, form_param_format_invalid__phone_number: undefined, diff --git a/packages/localizations/src/ru-RU.ts b/packages/localizations/src/ru-RU.ts index d5d74dcafef..77d4a041e0f 100644 --- a/packages/localizations/src/ru-RU.ts +++ b/packages/localizations/src/ru-RU.ts @@ -898,6 +898,7 @@ export const ruRU: LocalizationResource = { form_identifier_exists__phone_number: 'Этот номер телефона уже занят. Пожалуйста, попробуйте другой.', form_identifier_exists__username: 'Это имя пользователя уже занято. Пожалуйста, попробуйте другое.', form_identifier_not_found: 'Мы не смогли найти учетную запись с этими данными.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Адрес электронной почты должен быть действительным.', form_param_format_invalid__phone_number: 'Номер телефона должен быть в действующем международном формате.', diff --git a/packages/localizations/src/sk-SK.ts b/packages/localizations/src/sk-SK.ts index 1f047d65eba..977bc2472c9 100644 --- a/packages/localizations/src/sk-SK.ts +++ b/packages/localizations/src/sk-SK.ts @@ -891,6 +891,7 @@ export const skSK: LocalizationResource = { form_identifier_exists__phone_number: 'Toto telefónne číslo je už obsadené. Skúste prosím iné.', form_identifier_exists__username: 'Táto použivateľské meno je už obsadené. Skúste prosím iné.', form_identifier_not_found: 'Účet s týmto identifikátorom nebol nájdený. Skontrolujte údaje a skúste to znova.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Zadaná hodnota nie je v správnom formáte. Skontrolujte a opravte.', form_param_format_invalid__email_address: 'Emailová adresa musí byť platná.', form_param_format_invalid__phone_number: 'Telefónne číslo musí byť v platnom medzinárodnom formáte.', diff --git a/packages/localizations/src/sr-RS.ts b/packages/localizations/src/sr-RS.ts index a70624a1f66..0f0e7c8f8d6 100644 --- a/packages/localizations/src/sr-RS.ts +++ b/packages/localizations/src/sr-RS.ts @@ -884,6 +884,7 @@ export const srRS: LocalizationResource = { form_identifier_exists__phone_number: 'Ovaj telefonski broj je zauzet. Molimo pokušaj sa drugim.', form_identifier_exists__username: 'Ovo korisničko ime je zauzeto. Molimo pokušaj sa drugim.', form_identifier_not_found: 'Nismo mogli pronaći nalog sa ovim podacima.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Format parametra je nevažeći.', form_param_format_invalid__email_address: 'E-mail adresa mora biti važeća e-mail adresa.', form_param_format_invalid__phone_number: 'Telefonski broj mora biti u važećem međunarodnom formatu', diff --git a/packages/localizations/src/sv-SE.ts b/packages/localizations/src/sv-SE.ts index b480719305d..aca5592045f 100644 --- a/packages/localizations/src/sv-SE.ts +++ b/packages/localizations/src/sv-SE.ts @@ -889,6 +889,7 @@ export const svSE: LocalizationResource = { form_identifier_exists__phone_number: 'Detta telefonnummer är taget. Vänligen prova ett annat.', form_identifier_exists__username: 'Detta användarnamn är taget. Vänligen prova ett annat.', form_identifier_not_found: 'Vi kunde inte hitta ett konto med dessa uppgifter.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Formatet är ogiltigt.', form_param_format_invalid__email_address: 'E-postadressen måste vara en giltig e-postadress.', form_param_format_invalid__phone_number: 'Telefonnumret måste vara i ett giltigt internationellt format.', diff --git a/packages/localizations/src/ta-IN.ts b/packages/localizations/src/ta-IN.ts index f7a8b67849e..fac9eaf6578 100644 --- a/packages/localizations/src/ta-IN.ts +++ b/packages/localizations/src/ta-IN.ts @@ -893,6 +893,7 @@ export const taIN: LocalizationResource = { form_identifier_exists__phone_number: 'இந்த தொலைபேசி எண் எடுக்கப்பட்டுள்ளது. வேறொன்றை முயற்சிக்கவும்.', form_identifier_exists__username: 'இந்த பயனர்பெயர் எடுக்கப்பட்டுள்ளது. வேறொன்றை முயற்சிக்கவும்.', form_identifier_not_found: 'இந்த அடையாளத்துடன் கணக்கு எதுவும் இல்லை. சரிபார்த்து மீண்டும் முயற்சிக்கவும்.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'உள்ளிடப்பட்ட மதிப்பு தவறான வடிவத்தில் உள்ளது. சரிபார்த்து திருத்தவும்.', form_param_format_invalid__email_address: 'மின்னஞ்சல் முகவரி சரியான மின்னஞ்சல் முகவரியாக இருக்க வேண்டும்.', form_param_format_invalid__phone_number: 'தொலைபேசி எண் சரியான சர்வதேச வடிவமைப்பில் இருக்க வேண்டும்.', diff --git a/packages/localizations/src/te-IN.ts b/packages/localizations/src/te-IN.ts index 004eb48d563..3d0ccfa92c1 100644 --- a/packages/localizations/src/te-IN.ts +++ b/packages/localizations/src/te-IN.ts @@ -893,6 +893,7 @@ export const teIN: LocalizationResource = { form_identifier_exists__phone_number: 'ఈ ఫోన్ నంబర్ తీసుకోబడింది. దయచేసి మరొకదాన్ని ప్రయత్నించండి.', form_identifier_exists__username: 'ఈ వినియోగదారు పేరు తీసుకోబడింది. దయచేసి మరొకదాన్ని ప్రయత్నించండి.', form_identifier_not_found: 'ఈ గుర్తింపుదారుతో ఖాతా కనుగొనబడలేదు. దయచేసి తనిఖీ చేసి మళ్ళీ ప్రయత్నించండి.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'నమోదు చేసిన విలువ చెల్లని ఫార్మాట్‌లో ఉంది. దయచేసి తనిఖీ చేసి దిద్దుబాటు చేయండి.', form_param_format_invalid__email_address: 'ఇమెయిల్ చిరునామా చెల్లుబాటు అయ్యే ఇమెయిల్ చిరునామా అయి ఉండాలి.', form_param_format_invalid__phone_number: 'ఫోన్ నంబర్ చెల్లుబాటు అయ్యే అంతర్జాతీయ ఫార్మాట్‌లో ఉండాలి.', diff --git a/packages/localizations/src/th-TH.ts b/packages/localizations/src/th-TH.ts index 6b76efbc111..697b19d537b 100644 --- a/packages/localizations/src/th-TH.ts +++ b/packages/localizations/src/th-TH.ts @@ -886,6 +886,7 @@ export const thTH: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: undefined, + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: undefined, form_param_format_invalid__phone_number: undefined, diff --git a/packages/localizations/src/tr-TR.ts b/packages/localizations/src/tr-TR.ts index 14e4ce7bab3..1a83baf6bf0 100644 --- a/packages/localizations/src/tr-TR.ts +++ b/packages/localizations/src/tr-TR.ts @@ -887,6 +887,7 @@ export const trTR: LocalizationResource = { form_identifier_exists__phone_number: 'Bu telefon numarası zaten kullanılıyor.', form_identifier_exists__username: 'Bu kullanıcı adı zaten kullanılıyor.', form_identifier_not_found: 'Bu bilgilere sahip bir hesap bulunamadı.', + form_new_password_matches_current: undefined, form_param_format_invalid: 'Parametre formatı geçersiz.', form_param_format_invalid__email_address: 'E-posta adresi geçerli olmalıdır.', form_param_format_invalid__phone_number: 'Telefon numarası geçerli olmalıdır.', diff --git a/packages/localizations/src/uk-UA.ts b/packages/localizations/src/uk-UA.ts index d6a9f5e7360..96f7bf2021f 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -883,6 +883,7 @@ export const ukUA: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: 'Не вдалося знайти акаунт з цими даними.', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Email address must be a valid email address.', form_param_format_invalid__phone_number: 'Phone number must be in a valid international format', diff --git a/packages/localizations/src/vi-VN.ts b/packages/localizations/src/vi-VN.ts index 766d19001e7..78cdfee7539 100644 --- a/packages/localizations/src/vi-VN.ts +++ b/packages/localizations/src/vi-VN.ts @@ -893,6 +893,7 @@ export const viVN: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: undefined, + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: undefined, form_param_format_invalid__phone_number: undefined, diff --git a/packages/localizations/src/zh-CN.ts b/packages/localizations/src/zh-CN.ts index 23fc899cb34..229d12ad1f8 100644 --- a/packages/localizations/src/zh-CN.ts +++ b/packages/localizations/src/zh-CN.ts @@ -871,6 +871,7 @@ export const zhCN: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: '我们无法找到具有这些信息的账户。', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: '邮箱地址必须是有效的邮箱格式。', form_param_format_invalid__phone_number: '电话号码必须符合有效的国际格式。', diff --git a/packages/localizations/src/zh-TW.ts b/packages/localizations/src/zh-TW.ts index 4aa7e3d883c..e9be4ae8741 100644 --- a/packages/localizations/src/zh-TW.ts +++ b/packages/localizations/src/zh-TW.ts @@ -872,6 +872,7 @@ export const zhTW: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: '我們無法找到具有這些信息的帳戶。', + form_new_password_matches_current: undefined, form_param_format_invalid: undefined, form_param_format_invalid__email_address: '電子郵件地址必須是有效的格式。', form_param_format_invalid__phone_number: '電話號碼必須是有效的國際格式。', diff --git a/packages/shared/src/types/localization.ts b/packages/shared/src/types/localization.ts index ecb3648d04c..767750e2718 100644 --- a/packages/shared/src/types/localization.ts +++ b/packages/shared/src/types/localization.ts @@ -1319,6 +1319,7 @@ type UnstableErrors = WithParamName<{ web3_missing_identifier: LocalizationValue; form_password_pwned: LocalizationValue; form_password_pwned__sign_in: LocalizationValue; + form_new_password_matches_current: LocalizationValue; /** @deprecated Use `form_password_compromised__sign_in` instead */ form_password_untrusted__sign_in: LocalizationValue; form_password_compromised__sign_in: LocalizationValue; From 46593a21de9b2076f7c6282219d247523351b03f Mon Sep 17 00:00:00 2001 From: Vaggelis Yfantis Date: Thu, 4 Dec 2025 20:44:51 +0200 Subject: [PATCH 2/3] chore: Update changeset --- .changeset/modern-areas-accept.md | 7 +++++++ packages/clerk-js/rspack.config.js | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 .changeset/modern-areas-accept.md diff --git a/.changeset/modern-areas-accept.md b/.changeset/modern-areas-accept.md new file mode 100644 index 00000000000..0382155315b --- /dev/null +++ b/.changeset/modern-areas-accept.md @@ -0,0 +1,7 @@ +--- +'@clerk/localizations': patch +'@clerk/clerk-js': patch +'@clerk/shared': patch +--- + +Show the correct error message on `form_new_password_matches_current` error code diff --git a/packages/clerk-js/rspack.config.js b/packages/clerk-js/rspack.config.js index 30d6702550b..9b082397aa8 100644 --- a/packages/clerk-js/rspack.config.js +++ b/packages/clerk-js/rspack.config.js @@ -562,7 +562,7 @@ const devConfig = ({ mode, env }) => { const variant = env.variant || variants.clerkBrowser; // accept an optional devOrigin environment option to change the origin of the dev server. // By default we use https://js.lclclerk.com which is what our local dev proxy looks for. - const devUrl = new URL(env.devOrigin || 'http://localhost:4000'); + const devUrl = new URL(env.devOrigin || 'https://js.lclclerk.com'); const isSandbox = !!env.sandbox; const port = Number(new URL(env.devOrigin ?? 'http://localhost:4000').port || 4000); From 854dce3a9af77c93566ed743a0a3882bbe06ff0f Mon Sep 17 00:00:00 2001 From: Vaggelis Yfantis Date: Thu, 4 Dec 2025 20:51:36 +0200 Subject: [PATCH 3/3] chore: Remove redundant test for same password error --- .../__tests__/TaskResetPassword.test.tsx | 38 ------------------- 1 file changed, 38 deletions(-) diff --git a/packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskResetPassword/__tests__/TaskResetPassword.test.tsx b/packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskResetPassword/__tests__/TaskResetPassword.test.tsx index 9e7c79b6ea2..6f802696eca 100644 --- a/packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskResetPassword/__tests__/TaskResetPassword.test.tsx +++ b/packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskResetPassword/__tests__/TaskResetPassword.test.tsx @@ -1,4 +1,3 @@ -import { ClerkAPIResponseError } from '@clerk/shared/error'; import userEvent from '@testing-library/user-event'; import { describe, expect, it } from 'vitest'; @@ -65,43 +64,6 @@ describe('TaskResetPassword', () => { }); }); - it('giving the same password as the current password, should show an error', async () => { - const { wrapper, fixtures } = await createFixtures(f => { - f.withUser({ - email_addresses: ['test@clerk.com'], - identifier: 'test@clerk.com', - tasks: [{ key: 'reset-password' }], - }); - f.withPassword(); - }); - - const errJSON = { - code: 'form_new_password_matches_current', - long_message: 'New password cannot be the same as the current password.', - message: 'New password cannot be the same as the current password.', - meta: { param_name: 'newPassword' }, - }; - - fixtures.clerk.user?.updatePassword.mockResolvedValueOnce( - new ClerkAPIResponseError('Error', { - data: [errJSON], - status: 422, - }), - ); - const { getByRole, userEvent, getByLabelText, findByText } = render(, { wrapper }); - await waitFor(() => getByRole('heading', { name: /Reset password/i })); - - await userEvent.type(getByLabelText(/new password/i), 'itsthesamepassword'); - await userEvent.type(getByLabelText(/confirm password/i), 'itsthesamepassword'); - await userEvent.click(getByRole('button', { name: /reset password$/i })); - expect(fixtures.clerk.user?.updatePassword).toHaveBeenCalledWith({ - newPassword: 'itsthesamepassword', - signOutOfOtherSessions: true, - }); - - await waitFor(() => expect(findByText(/new password cannot be the same as the current password/i)).toBeVisible()); - }); - it('renders a hidden identifier field', async () => { const { wrapper } = await createFixtures(f => { f.withUser({