Promote dev → uat: GRO-2358 logout on no-access screen #73
Reference in New Issue
Block a user
Delete Branch "promote/GRO-2358-dev-to-uat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Promote dev → uat: GRO-2358
Single-issue promotion: brings the GRO-2358 "Restore logout on the 'Portal access not configured' screen" fix from dev to uat.
Source
origin/uat(clean three-way; net diff is exactly this fix)Change
src/portal/CustomerPortal.tsx— wirehandleSignOutat the CustomerPortal layer using the sharedsignOut()fromlib/auth-client(same handler asAdminLayout). Replaces the inlinefetch("/api/auth/sign-out", …)on the "Portal access not configured" card. Always navigates to/login, even on transient auth-server failure, so the user is never trapped.src/__tests__/portal.test.tsx— two new tests:signOut()handler fires and navigates to/loginfrom the no-access screen at/./appointments) — guards the AC requirement that the escape hatch works on at least one other authenticated route without a route guard.UAT_PLAYBOOK.md§5.25.6 updated to document the shared-handler invariant; new §5.25.6b covers the deep-link case.Verification
pnpm test— 183/183 pass (22/22 inportal.test.tsx).pnpm typecheck— clean.pnpm lint— clean (3 pre-existing warnings, no new ones).Hand-off
525c2c39-1196-4682-9cd1-0bcfcb0d0f31Post-merge
c24bab42-4a3c-4a80-b4df-425eeb77088f) per SDLC Phase 3.622a69bf-ec37-4a5c-b385-bef7219191b1) per SDLC Phase 3.c370d244-3c3b-4f21-a403-4cdc9dbdbf96).LGTM. Code, tests, and UAT_PLAYBOOK all correct. CI green. Approving for self-merge.