Keep the onboarding stepper on screen between setup steps
Problem
During guided setup the stepper card disappeared and came back several times.
After Create workspace, the screen went: stepper → "Choose a workspace" card (the new workspace joined the list) → "Loading Superlog…" → a full page reload → "Loading Superlog…" → stepper. Any page load on a step, such as the return from plan checkout or the Datadog connection, also showed the plain "Loading Superlog…" card before the stepper.
Change
AuthGatekeepsWorkspaceSetupmounted while it creates a workspace. Setup then navigates in place to the next page (/onboarding/code,/agents/new, or the template being set up) instead of callingwindow.location.replace.WorkspaceSetupstays in guided mode once shown, so the list refetch after creation does not switch it to the workspace chooser.- New
OnboardingLoadingcard (the setup frame with the stepper and "Loading…"). It is used for the session and capabilities loading states on/onboardingURLs, and for the onboarding page's own loading state. onboardingStepAtPathreads the step from a setup URL, with tests.- The loading card uses each step's layout (
onboardingStepStages). The Usage and Go live steps are full width, so the card no longer changes shape when they appear.
Verification
Recorded DOM transitions with Playwright against the local stack (sign up → create workspace → steps → reload):
Before:
/app stepper=true Name your workspace
/app stepper=false Choose a workspace
/app stepper=false Loading Superlog…
/onboarding/code stepper=false (reload)
/onboarding/code stepper=false Loading Superlog…
/onboarding/code stepper=true Loading…
/onboarding/code stepper=true Connect your code
After:
/app stepper=true Name your workspace
/onboarding/code stepper=true Loading…
/onboarding/code stepper=true Connect your code
A reload on /onboarding/usage now goes from a blank document straight to the stepper loading card.
pnpm typecheck, eslint on changed files, and theauth-gateandonboarding-presentationunit tests pass.e2e/workspace-onboarding.spec.ts: 5 passed, including both workspace-creation tests.keeps an invitation link open while the recipient signs infails because it looks for a "New to Responder? Create an account" button that is not inmain's source. That failure is unrelated to this change.
Summary by cubic
Keeps the guided setup stepper on screen between steps. Creating a workspace no longer drops into the workspace chooser and a plain "Loading Superlog…" card before reloading; the auth gate keeps setup mounted and navigates in place to the next step.
- Loading states on
/onboardingURLs use the stepper card with "Loading…" instead of the plain loading card. - The loading card adopts each step's layout so its shape stays consistent when Usage and Go live steps appear.