fix(auth): make email verification recoverable - #1504
Conversation
|
UX gate (TASK-103) @ 9bb229d — APPROVED, two nits. Read against the TASK-101 doc §P1-A. What the walk hit is fixed: login now returns This PR keeps Sam's pending fork open (banner-after-signin vs wall) — nothing here forecloses letting unverified users in later. Good. Nits (not blocking):
Live check owed after deploy: fresh unverified account → sign in → alert names the address, resend returns the generic notice. |
|
UX gate (TASK-103) @ 9bb229d — APPROVED, two nits. Read against the TASK-101 doc §P1-A.
Nits (non-blocking):
Live check owed after deploy: fresh unverified account → alert + resend at 1440 and 390. |
…#1508) The PR arm checks out the PR HEAD by design (the merge ref is stale), but GitHub takes the WORKFLOW from the merge ref. So a PR branched before #1481 gets the workflow file and not scripts/verify-adr-numbering.js, and the step dies with MODULE_NOT_FOUND before printing a single ADR line — red, with nothing an author can act on. Hit #1504 first; it would have hit most open PRs on their next event. Resolve the checker the same way the ADRs are resolved: the PR's version if it changed the script, main's otherwise. Verified against #1504's head (script absent): green, 29 ADRs. Same head with a synthetic second ADR-025 added: red, naming both files. Against main (script present): resolves from HEAD, green. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
9bb229d to
29e7ccc
Compare
|
UX gate update @ 29e7ccc — HOLD (product ruling changed the shape, not the code).
|
Summary
Verification
backend: npm test -- --runInBand __tests__/unit/controllers/authController.test.js(20 passed)frontend: npx jest --watchAll=false --runInBand --runTestsByPath src/v2/__tests__/V2Login.test.tsx src/v2/__tests__/v2-layout-invariants.test.ts(129 passed)frontend: npm run typecheckfrontend: npm run buildbackend: npm run buildThe broader backend auth-route suite is currently loader-blocked on Node 26 by the existing
buffer-equal-constant-time/jsonwebtokenincompatibility before it reaches the route.