Account

ProfileNameForm, ChangeEmailForm, ChangePasswordForm, TwoFactorSection and ManageOnSignInSite from packages/ui, each wired to a fixture that succeeds, rejects a specific input, or holds loading.

Profile name

ProfileNameForm

Save disables again once the draft matches what was last accepted.

Email

Whether the frontend-API session needs the current password to reissue a sensitive change.

Password required

You sign in with ada.lovelace@acme.co.

Password not required

You sign in with ada.lovelace@acme.co.

Password

Has a password

Asks for the current password before accepting a new one.

No password yet

You don't have a password yet. Set one to sign in with your email and password.

Signed up via SSO or a magic link — this sets the first one.

Confirmation mismatch

Type different values for New and Confirm, then submit — checked client-side before onSubmit runs.

Two-factor authentication

Frontend-API state, so it starts in `loading` until the browser call resolves.

Loading
Loading two-factor authentication
Off — enrolling

2FA is off

Scan the QR code with an authenticator app, then enter the 6-digit code it shows.

QR code for your authenticator app
On — with backup codes

2FA is on

Signing in asks for a code from your authenticator app.

Wrong code

2FA is off

Scan the QR code with an authenticator app, then enter the 6-digit code it shows.

QR code for your authenticator app

Enter 000000 and submit — the fixture always fails that code with "That code didn't match."

Manage-elsewhere fallback

When the auth-domain session can't be reached from this browser (a preview host, or a third-party-cookie block outside Chrome).

ManageOnSignInSite

These settings can't be changed here right now. You can manage them on the sign-in site.

Manage on sign-in site