Promote uat → main (PROD): GRO-2373 in-portal chrome sign-out button (web) #81

Open
Flea Flicker wants to merge 1 commits from flea/uat-to-main-gro-2373-web into main
Member

Cherry-pick the GRO-2373 dev→uat merge commit (532869f9) onto main.

Defect found by Shedward in GRO-2360 (P3 UAT Playbook — Authentik → OOBE on groombook.farh.net, with logout check):

Test 3 FAIL — In-portal screen has no Sign out control

After GRO-2359 (P2) routes new Authentik users into OOBE, the post-OOBE Customer Portal v1.0 dashboard (Home, Appointments, My Pets, Report Cards, Billing, Messages, Settings) renders with no visible sign-out control. The OOBE and the 'Portal access not configured' card both have one (P1 GRO-2358), but the in-portal chrome was missed. cmpO ruling in GRO-2356: 'logout must work on every authenticated screen, no exceptions.'

Fix: Sign out button in the in-portal sidebar footer, wired to the canonical signOut() from lib/auth-client (same handler as OOBE, no-access card, and AdminLayout's top-bar Logout). Test covers: chrome sign-out → shared signOutSpy fires → POST /api/auth/sign-out → 200 → window.location.href = /login.

Files:

  • src/portal/CustomerPortal.tsx — sidebar footer Sign out button
  • src/tests/portal.test.tsx — TC for GRO-2373
  • UAT_PLAYBOOK.md — TC-WEB-5.25.6f

UAT_PLAYBOOK §3.2 (TC-WEB-5.25.6f) updated.

Refs: GRO-2360 (P3), GRO-2355 (parent), GRO-2357 (breakdown), GRO-2358 (P1), GRO-2359 (P2).

Cherry-pick the GRO-2373 dev→uat merge commit (532869f9) onto main. Defect found by Shedward in GRO-2360 (P3 UAT Playbook — Authentik → OOBE on groombook.farh.net, with logout check): **Test 3 FAIL — In-portal screen has no Sign out control** After GRO-2359 (P2) routes new Authentik users into OOBE, the post-OOBE Customer Portal v1.0 dashboard (Home, Appointments, My Pets, Report Cards, Billing, Messages, Settings) renders with no visible sign-out control. The OOBE and the 'Portal access not configured' card both have one (P1 GRO-2358), but the in-portal chrome was missed. cmpO ruling in GRO-2356: 'logout must work on every authenticated screen, no exceptions.' **Fix:** Sign out button in the in-portal sidebar footer, wired to the canonical `signOut()` from `lib/auth-client` (same handler as OOBE, no-access card, and AdminLayout's top-bar Logout). Test covers: chrome sign-out → shared signOutSpy fires → `POST /api/auth/sign-out` → 200 → `window.location.href = /login`. **Files:** - src/portal/CustomerPortal.tsx — sidebar footer Sign out button - src/__tests__/portal.test.tsx — TC for GRO-2373 - UAT_PLAYBOOK.md — TC-WEB-5.25.6f UAT_PLAYBOOK §3.2 (TC-WEB-5.25.6f) updated. Refs: GRO-2360 (P3), GRO-2355 (parent), GRO-2357 (breakdown), GRO-2358 (P1), GRO-2359 (P2).
Flea Flicker added 1 commit 2026-06-12 18:57:08 +00:00
Promote dev → uat: GRO-2373 in-portal chrome sign-out button (#78)
CI / Test (pull_request) Successful in 22s
CI / Lint & Typecheck (pull_request) Successful in 29s
CI / Build & Push Docker Image (pull_request) Successful in 44s
2ee621e8d9
Flea Flicker requested review from The Dogfather 2026-06-12 18:59:03 +00:00
Author
Member

cc @cpfarhood — Formal Gitea review needed for uat → main per uat-to-main-requires-cto-gitea-review-when-whitelist-fixed.md.

This is the missing uat→main promotion for GRO-2373 (P3 from GRO-2357 work breakdown). The dev→uat promotion PR #78 (532869f9) merged on 2026-06-11 22:03, but the follow-up uat→main was never cut — so the prod overlay is still on web:2026.06.12-1480a37 (the GRO-2359 web fix), which lacks the in-portal Sign out button. The demo at groombook.farh.net (prod overlay, per PRs #665/#666) was tested by Shedward in GRO-2360 and showed no Sign out on the Customer Portal v1.0 chrome.

Cherry-pick of the validated dev→uat merge commit (532869f9) onto main. CI green (Lint+Test+Docker all passed, run 3623). Files: src/portal/CustomerPortal.tsx, src/tests/portal.test.tsx, UAT_PLAYBOOK.md (TC-WEB-5.25.6f).

After CTO Approve + self-merge, I will cut the infra PR to bump apps/overlays/prod/kustomization.yaml web.newTag to the new main head (3-line diff) so the demo gets the fix. Shedward will then re-run Test 3.

Refs: GRO-2360 (P3 UAT), GRO-2373 (the fix), GRO-2355 (parent), GRO-2357 (breakdown).

cc @cpfarhood — Formal Gitea review needed for `uat → main` per `uat-to-main-requires-cto-gitea-review-when-whitelist-fixed.md`. This is the missing uat→main promotion for GRO-2373 (P3 from GRO-2357 work breakdown). The dev→uat promotion PR #78 (532869f9) merged on 2026-06-11 22:03, but the follow-up uat→main was never cut — so the prod overlay is still on `web:2026.06.12-1480a37` (the GRO-2359 web fix), which lacks the in-portal Sign out button. The demo at `groombook.farh.net` (prod overlay, per PRs #665/#666) was tested by Shedward in GRO-2360 and showed no Sign out on the Customer Portal v1.0 chrome. Cherry-pick of the validated dev→uat merge commit (`532869f9`) onto `main`. CI green (Lint+Test+Docker all passed, run 3623). Files: src/portal/CustomerPortal.tsx, src/__tests__/portal.test.tsx, UAT_PLAYBOOK.md (TC-WEB-5.25.6f). After CTO Approve + self-merge, I will cut the infra PR to bump `apps/overlays/prod/kustomization.yaml` `web.newTag` to the new main head (3-line diff) so the demo gets the fix. Shedward will then re-run Test 3. Refs: GRO-2360 (P3 UAT), GRO-2373 (the fix), GRO-2355 (parent), GRO-2357 (breakdown).
Some checks are pending
CI / Test (pull_request) Successful in 22s
CI / Lint & Typecheck (pull_request) Successful in 29s
CI / Build & Push Docker Image (pull_request) Successful in 44s
This pull request doesn't have enough required approvals yet. 0 of 1 approvals granted from users or teams on the allowlist.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin flea/uat-to-main-gro-2373-web:flea/uat-to-main-gro-2373-web
git checkout flea/uat-to-main-gro-2373-web
Sign in to join this conversation.