<SignIn />: first "Use email" click switches back to phone when `initialValues.phoneNumber` is set
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 74/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- react, typescript
- Domaine
- authentication, frontend
Piste de recherche
Commencez par packages/ui/src/components/SignIn/SignInStart.tsx, en particulier par l’initialisation de textIdentifierField et l’effet de remplissage automatique décrit dans l’issue. Suivez l’interaction entre un clic sur « Utiliser l’e-mail » et handlePhoneNumberPaste ; le lien de reproduction permet de confirmer le comportement. Le travail est terminé lorsque le premier clic affiche le champ e-mail avec un numéro de téléphone prérempli et qu’un test de régression couvre ce cas.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Preliminary Checks
- I have reviewed the documentation: https://clerk.com/docs
- I have searched for existing issues: https://github.com/clerk/javascript/issues
- I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)
- This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.
Reproduction
https://github.com/twicestruck/clerk-signin-phone-prefill-repro
Publishable key
pk_test_ZXhwZXJ0LXVuaWNvcm4tNzgyOC5jbGVyay5hY2NvdW50cy5kZXYk
Description
With email and phone both enabled as sign-in identifiers, <SignIn initialValues={{ phoneNumber: '+15555550100' }} /> opens on the phone field as expected, but the first "Use email" click switches straight back to the phone field. The second click works.
Steps to reproduce:
- Run the reproduction with the publishable key above
- Click "Use email" once
Expected behavior:
The email field shows.
Actual behavior:
The form switches back to the phone field.
Cause: when the form starts on the phone field, SignInStart seeds textIdentifierField with initialValues[identifierAttribute], which is the phone number (source). After the switch, the autofill effect sees a value starting with + and calls handlePhoneNumberPaste, which switches back to the phone field and clears the email field, so the second click sticks. A prefilled number without + shows up in the email field instead.
I'll open a PR with a fix and a test.
Environment
System:
OS: macOS 27.0.1
CPU: (18) arm64 Apple M5 Max
Memory: 157.16 MB / 36.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 24.22.0
npm: 11.19.1
pnpm: 12.14.0
bun: 1.4.3
Browsers:
Brave Browser: 155.1.97.59
Chrome: 155.0.8059.85
Chrome Canary: 158.0.8110.0
Firefox: 158.0
Safari: 27.0.1
npmPackages:
@clerk/react: 6.18.3 => 6.18.3
@vitejs/plugin-react: 6.1.2 => 6.1.2
react: 19.3.1 => 19.3.1
react-dom: 19.3.1 => 19.3.1
vite: 8.3.5 => 8.3.5
- Langage dominant
- TypeScript
- Étoiles
- 1.8k
- Forks
- 484
- Merge moyen
- 1 j 20 h
- PR mergées (30 j)
- 363
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de clerk/javascript
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
clerk/javascript#10548 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
clerk/javascript#10547 ·
Les mainteneurs répondent en général sous 1 jour
-
useLoadedIsomorphicClerk misses "ready" when a ClerkProvider remounts after clerk-js has loaded — <ClerkLoading> never resolvesPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
clerk/javascript#10462 ·
Les mainteneurs répondent en général sous 1 jour
-
ClerkAPIError drops meta.lockout_expires_in_seconds from user_locked errorsPeut-être pris @umeraamir69 l’a pris il y a 9 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
clerk/javascript#10026 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
@clerk/nextjs: onBeforeSetActive never settles when invalidateCacheAction rejects (e.g. after a redeploy), so setActive and signOut hang foreverPeut-être pris @RaphaelFakhri l’a pris il y a 26 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
clerk/javascript#9987 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de clerk/javascript
Issues similaires
-
Report: Mooz Dance SDOuvertecheck:passed streams:remove
Difficulté 1/5 Moins d'une heure Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
bug needs triage
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
actions/setup-node#1659 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
vercel-labs/wterm#267 ·
Les mainteneurs répondent en général sous 2 jours
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
microsoft/AI-Engineering-Coach#355 · 1 réaction ·
Les mainteneurs répondent en général sous 4 jours
-
level1 nsoc26
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
GauravKarakoti/SecureFlow#1501 ·
Les mainteneurs répondent en général sous 1 jour