Skip to content

feat(recovery): prefill the identifier, and accept a username - #2602

Merged
MusabShakeel576 merged 1 commit into
masterfrom
claude/monday-ota-bug-review-7gma44
Sep 29, 2026
Merged

MusabShakeel576 merged 1 commit into
masterfrom
claude/monday-ota-bug-review-7gma44

Conversation

@MusabShakeel576

@MusabShakeel576 MusabShakeel576 commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

The recovery screen opened on an empty email field. The user this came from reached it twice on a phone, sat on that field both times, and left without typing anything — then told support the recovery interface would not open. Their own screen recording shows it opening fine.

Prefill it from the account this device last knew about. Logging out and a session expiring both leave that row behind — only "Forget all users" clears it — so on the device someone is locked out of, it is almost always the account they are reaching for.

The field now takes a username as well, for the roughly one account in ten that carries no email and for anyone who cannot remember which inbox they used. Validation only holds an entry to the email rules once it contains an "@"; which account it names is the server's call. The OTP step then says where the code actually went, from the masked hint the backend returns, because a username recovery never learns the address — and for the same reason it no longer sends one back on verify.

Claude-Session: https://claude.ai/code/session_01HRh59soi7iX4J3UwxVVGRS


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

The recovery screen opened on an empty email field. The user this came
from reached it twice on a phone, sat on that field both times, and left
without typing anything — then told support the recovery interface would
not open. Their own screen recording shows it opening fine.

Prefill it from the account this device last knew about. Logging out and
a session expiring both leave that row behind — only "Forget all users"
clears it — so on the device someone is locked out of, it is almost
always the account they are reaching for.

The field now takes a username as well, for the roughly one account in
ten that carries no email and for anyone who cannot remember which inbox
they used. Validation only holds an entry to the email rules once it
contains an "@"; which account it names is the server's call. The OTP
step then says where the code actually went, from the masked hint the
backend returns, because a username recovery never learns the address —
and for the same reason it no longer sends one back on verify.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HRh59soi7iX4J3UwxVVGRS
@vercel

vercel Bot commented Sep 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated
solid-app Ignored Ignored Sep 29, 2026 11:57am UTC
solid-app-staging Ignored Ignored Sep 29, 2026 11:57am UTC

Request Review

@MusabShakeel576
MusabShakeel576 merged commit f055b7a into master Sep 29, 2026
6 checks passed
@MusabShakeel576
MusabShakeel576 deleted the claude/monday-ota-bug-review-7gma44 branch September 29, 2026 11:59
@claude

claude Bot commented Sep 29, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants