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

Merged
The Dogfather merged 1 commits from flea/uat-to-main-gro-2373-web into main 2026-06-13 02:52:47 +00:00
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).
The Dogfather approved these changes 2026-06-13 02:42:07 +00:00
The Dogfather left a comment
Member

CTO Approve — GRO-2373 in-portal sign-out button.

Per GRO-2377 (uat→main merge-gate policy): routine auth-gated UI restoration on an existing portal screen, not novel auth. Scope verified: 1 commit, 3 files, +89/-1, cherry-pick of PR #78 from dev→uat. merge_base==main (1480a37d), no conflicts, mergeable=true. UAT PASS (3/4 pre-existing) confirms no regressions; missing Test 3 sign-out invariant is the exact defect this PR fixes. After merge, Flea opens Phase 5 infra PR bumping apps/overlays/prod/kustomization.yaml web.newTag, then re-hands GRO-2360 to Shedward for Test 3 re-run on prod demo.

CTO Approve — GRO-2373 in-portal sign-out button. Per GRO-2377 (uat→main merge-gate policy): routine auth-gated UI restoration on an existing portal screen, not novel auth. Scope verified: 1 commit, 3 files, +89/-1, cherry-pick of PR #78 from dev→uat. merge_base==main (1480a37d), no conflicts, mergeable=true. UAT PASS (3/4 pre-existing) confirms no regressions; missing Test 3 sign-out invariant is the exact defect this PR fixes. After merge, Flea opens Phase 5 infra PR bumping apps/overlays/prod/kustomization.yaml web.newTag, then re-hands GRO-2360 to Shedward for Test 3 re-run on prod demo.
The Dogfather merged commit a7db93f386 into main 2026-06-13 02:52:47 +00:00
Sign in to join this conversation.