Repository navigation
fix(frontend): the login screen crashes on master, LoginForm lost its notice prop in merge 990b93f3 #893
Copy link
Copy link
Closed
Labels
area:foundationProduct and platform foundationsProduct and platform foundationsarea:frontendReact, /srcReact, /srcpriority:P0Blocking: nothing else ships until this closesBlocking: nothing else ships until this closespriority:P0-criticalProduction broken or exposed — work nowProduction broken or exposed — work nowstatus:in-reviewPR openPR opentier:0-trustTrust: security, isolation, evidence integrityTrust: security, isolation, evidence integritytype:bugSomething is brokenSomething is broken
Milestone
Description
Activity
- addedarea:foundationProduct and platform foundationsProduct and platform foundationspriority:P0Blocking: nothing else ships until this closesBlocking: nothing else ships until this closestype:bugSomething is brokenSomething is brokenarea:frontendReact, /srcReact, /srcpriority:P0-criticalProduction broken or exposed — work nowProduction broken or exposed — work nowstatus:in-progressAn agent is working itAn agent is working ittier:0-trustTrust: security, isolation, evidence integrityTrust: security, isolation, evidence integrity
on Oct 7, 2026 - added a commit that references this issue
on Oct 7, 2026 - linked a pull request that will close this issuefix(frontend): give LoginForm its notice prop back (#893) #894
on Oct 7, 2026 - addedstatus:in-reviewPR openPR openand removedstatus:in-progressAn agent is working itAn agent is working it
on Oct 7, 2026 frontend-react — 2026-10-07
Done:
frontend/src/features/auth/AuthScreen.tsx,LoginFormgets its signature({ notice = '', onRegister }: { notice?: string; ... })back. Added a regression test tofrontend/src/features/auth/__tests__/signup.test.tsx: sign-up, enrolment on an expired token, back to the sign-in form showing the reason. PR #894.Verified:
/loginin Chromium (Vite on the branch): before, the 500 page withReferenceError: notice is not defined; after, the form is visible with 0 console errors. Screenshot.playwright-mcp/893-login-fixed.png.npx tsc -b --noEmit: before, TS2322 + TS2304; after, passes.npx vitest run src/features/auth: before, 27 failed; after, 121 passed.npx vitest run: 112 files, 1034 passed.- The new test fails without the fix (
notice is not defined) and passes with it.
Criteria: 1 ✅ · 2 ✅ · 3 ✅ (vitest; reaching the expired-enrolment path live would mean waiting 15 minutes on a real token, which was not done)
Next: review and merge PR #894. It also unblocks the Playwright run of #700 (PR #896).
Blocked on: nothing
- added a commit that references this issue
on Oct 7, 2026
Metadata
Metadata
Assignees
Labels
area:foundationProduct and platform foundationsProduct and platform foundationsarea:frontendReact, /srcReact, /srcpriority:P0Blocking: nothing else ships until this closesBlocking: nothing else ships until this closespriority:P0-criticalProduction broken or exposed — work nowProduction broken or exposed — work nowstatus:in-reviewPR openPR opentier:0-trustTrust: security, isolation, evidence integrityTrust: security, isolation, evidence integritytype:bugSomething is brokenSomething is broken
Problem
Nobody can sign in on
master. The login screen renders the 500 error page ("Une erreur est survenue") instead of the form. The browser console shows:npx tsc -b --noEmitfails onmasterwith the same cause:Cause
#872 added a
noticeprop toLoginForm(bce734cb:function LoginForm({ notice = '', onRegister }: { notice?: string; ... })). Then master was merged into the #872 branch (990b93f3), and that merge resolved the signature back tofunction LoginForm({ onRegister }: { onRegister: () => void }). The caller (<LoginForm notice={notice} …/>) and the body (useState(notice)) kept the prop. PR #880 brought this tomasteron 2026-10-02 at 14:05, and everymastercommit since then carries it (checked up tocefe453d).Found during the live pass of #700 (
frontend/e2e/session-tabs.spec.tscould not findlogin-email).Acceptance criteria
/loginrenders the sign-in form onmasterwith no console error.npx tsc -b --noEmitinfrontend/passes.RegisterFormcallsonRestart(message), the login form shows that message.Definition of Done