syntaqxThe code boxes sit in the middle of signing in and confirming an email, a code is sent once, and nothing says "Please fill out this field". On the sign-in's second step and email confirmation the six boxes, the recovery link, the hint and the error are centred under the heading that already says what to enter; the label is for screen readers only there. Two-factor settings keep the labelled field, aligned left. A password manager that fills the code often sends the form itself too, and with the boxes sending it at the sixth digit the same code went twice: identity takes each authenticator code once (two_factor.last_step), so the second was refused and said "That code is not right" even when the code was right. While one sending is on its way, any other is now dropped by a submit listener on the form, which runs before React Router's, and the boxes never send a code again while one is out. The boxes are no longer `required`, which drew the browser's bubble over invisible input; an empty code is refused by the server as before. A refused code still clears the boxes and focuses them, and the red goes as soon as something new is typed. Checked: apps/web tsc -b and npm test (993), and the sign-in form in headless Chrome driven over CDP with an action that counts what reaches it: a filled code, the filler's own submit, the boxes' submit and one more while it was out reached the action once; after the refusal the boxes were empty, focused and red, and one typed digit took the red away. Not tried with a real password manager.db67273History
- ..
- coordination
- attachments.rs
- authored.rs
- automerge.rs
- checks.rs
- closing.rs
- codeowners.rs
- commit_checks.rs
- commit_comments.rs
- contributions.rs
- decisions.rs
- ghost.rs
- guardrails.rs
- head_repo.rs
- inbox.rs
- insights.rs
- insights.sql
- integration.rs
- labels.rs
- lib.rs
- lifecycle.rs
- merge_message.rs
- mergeability.rs
- merging.rs
- milestones.rs
- prefetch.rs
- pushed.rs
- queue.rs
- queue_tests.rs
- reactions.rs
- retired.rs
- reviews.rs
- rows.rs
- rulesets.rs
- runs.rs
- settings.rs
- statuses.rs
- team_reviews.rs