finish onboarding after the landing page - #88
Conversation
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
APPROVE. Fresh full static review of the exact three-dot comparison 8c06ce5...e43d91e found no publishable findings. The simplified first-run flow completes directly from the localized, accessible welcome/consent surface and then preserves the existing startup loading and diagnostic gates. Final self-check covered every changed user flow; accessibility; i18n/localization completeness; navigation and consent guards; async, error, never-completes, lifecycle, and race behavior; test honesty; design-system and project rules; duplicate/overlapping findings; and concrete evidence plus user effect for blocking severity. The supplied GitHub evidence was inspected: frontend checks/unit tests, clean-room install, DCO, and Rust checks were successful, while Transcript virtualization and Frontend build smoke were still in progress at capture time; CI state is separate from this approval recommendation and required checks still govern merge readiness. No local code, tests, builds, package managers, scripts, hooks, or binaries were run.
Deterministic publication result: 0 blocking and 0 non-blocking finding(s) publishable; 0 duplicate(s) suppressed.
Pending checks: 1 check(s) are not complete.
This approval reflects the completed code review only; merge readiness remains governed by the repository's required checks.
**Category:** improvement **User Impact:** Brand-new installs now open to a balanced starter Home with correctly sized widgets, both starter agents, and the intended camera framing. **Problem:** PR #75 was merged into `demo/shareable-build`, so its refined starter Home never reached `main`. Porting the demo branch wholesale would also bring unrelated demo-only changes and conflict with PR #88's removal of the retired post-landing onboarding flow. **Solution:** Selectively port the canonical starter Home composition and persistence lifecycle onto current `main`, preserving PR #88 while making the starter layout, agent recovery, Berdy profile changes, and camera confirmation reliable. <details> <summary>File changes</summary> **distro/agents/{agt-builder,tinker,wildcard}.md** Updates the intended Agt. Builder avatar and preserves stable source metadata for starter-agent discovery. **src/features/home/onboarding/** Restores a single canonical starter-widget factory, defines the refined layout and camera lifecycle, and hardens trusted starter-agent selection. **src/features/home/stores/** Persists first-run and reset layouts transactionally, confirms starter-agent recovery, preserves Berdy's visible position across profile changes, and avoids overwriting user canvas edits. **src/features/home/ui/HomeView.tsx** Coordinates starter-agent enrichment and final canonical arrangement while keeping current Home telemetry behavior. **src/features/home/widgets/** Applies the smaller clock and task list, avatar-only dismissed Berdy profile, opaque dark-mode bubble, and refined note typography. **src/features/onboarding/resetOnboardingTour.ts** Refreshes and reconciles authoritative starter agents during explicit onboarding reset without reviving the retired post-landing flow. **src/features/experiments/ExperimentsSettings.tsx** and **src/shared/i18n/locales/{en,es}/settings.json** Reports partial reset recovery when starter agents are temporarily unavailable. **Tests** Covers canonical layout coordinates, camera persistence, profile transitions, starter-agent identity/recovery, reset failures, concurrent edits, and PR #88's direct landing-page completion. </details> ## Verification - `just check` - 286 focused Home/onboarding/widget tests - Fresh isolated app profile: clicked “Let’s go” and visually verified the resulting Home canvas - Code review: clean - Wes review: clean ## Context Ports the intended changes from #75 to `main`. Kept separate from #88; no retired post-landing onboarding screens are restored. Signed-off-by: cynfria <yescynthia@gmail.com>
Category: fix
User Impact: New users now enter Berd immediately after selecting “Let’s go” on the welcome page.
Problem: The new landing page still routed fresh installs into the retired work-type, agent recommendation, and provider setup sequence. This made the removed onboarding flow visible again after the welcome ceremony.
Solution: Complete first-run onboarding directly from the landing action while preserving telemetry consent and the existing startup loading and diagnostic gates.
File changes
src/app/AppShell.tsx
Removes runtime state that was only needed by the retired setup screens and keeps the landing ceremony ahead of normal startup gates.
src/app/AppShell.startupDiagnostics.test.tsx
Updates startup-order coverage now that the landing ceremony no longer receives setup-flow runtime state.
src/features/onboarding/ui/OnboardingFlow.tsx
Reduces first-run onboarding to the welcome page and completes it when the user selects “Let’s go.”
src/features/onboarding/ui/OnboardingFlow.test.tsx
Adds focused coverage that the landing action completes onboarding directly and preserves explicit telemetry opt-out.