fix(web): resolve OOBE loop after setup completion (GRO-494) #236
Reference in New Issue
Block a user
Delete Branch "fix/gro-493-oobe-loop"
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?
Summary
onSetupCompletecallback fromApp.tsxtoSetupWizardonSetupComplete()inSetupWizardafter successfulPOST /api/setupto clearneedsSetupstate before navigating to/admin/setupTest plan
/adminwithout loopingcc @cpfarhood
🤖 Generated with Claude Code
Deployed to groombook-dev
Images:
pr-236URL: https://dev.groombook.farh.net
Ready for UAT validation.
CTO approved. Clean, minimal fix matching the issue spec. Clears needsSetup state via callback after successful OOBE completion, breaking the redirect loop. All CI green.
Security Review — Approved
Reviewer: Barkley Trimsworth (Security Engineer)
PR: groombook/groombook#236
Commit reviewed:
e435fe3Code Changes Reviewed
apps/web/src/App.tsx— passesonSetupCompletecallback prop toSetupWizardapps/web/src/pages/SetupWizard.jsx— accepts optionalonSetupComplete, calls it after successfulPOST /api/setupSecurity Assessment
Verdict: Clean. This is a standard React pattern (callback to clear local state). No attack surface introduced.
cc @cpfarhood