fix: onboarding finish, level-up re-trigger, fresh start focus - #10
Conversation
…ocus - Fix handleFinish not navigating: profile cache was only updated in catch block, so OnboardingFlow portal stayed visible on success. Now updates cache unconditionally before navigation (web + mobile). - Fix level-up overlay re-triggering infinitely: acknowledgedLevel changed from useRef to useState so clearing triggers useMemo recomputation. Removed onClear from effect deps. Replaced no-op onClear callbacks with gamification.clearLevelUp (web + mobile). - Fix fresh start modal focus trap: memoize handleOpenChange with useCallback to prevent AppOverlay focus trap effect from re-running on every keystroke. - Fix authFetch empty body parsing: handle 200 responses with empty body via res.text() + JSON.parse instead of res.json(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e8aedf5cc3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| import { AchievementToast } from '@/components/gamification/achievement-toast' | ||
| import { LevelUpOverlay } from '@/components/gamification/level-up-overlay' | ||
| import { StreakFreezeCelebration } from '@/components/gamification/streak-freeze-celebration' | ||
| import { CalendarImportPrompt } from '@/components/onboarding/calendar-import-prompt' |
There was a problem hiding this comment.
Restore missing CalendarImportPrompt module
The new import @/components/onboarding/calendar-import-prompt does not resolve to any file in apps/mobile/components/onboarding, so any mobile typecheck/bundle run will fail with an unresolved module error before the app can start. This blocks the mobile build/runtime path introduced by this commit.
Useful? React with 👍 / 👎.
…e plan (#445) Stage 8 of the harness-upgrade plan landed in agentic-dev-workflow PR #10 (repo-clean / global-only install mode: an out-of-repo store under ~/.claude keyed by git root, dual-target FACT/RULE injectors, DEFAULT<global<store<in-repo layering, and a 10th CI gate). Tick Stage 8 complete and note the harness now supports both in-repo and repo-clean installs. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e-quality (#243) (#460) * chore(skills): integrate React Doctor into prod-readiness + audit-code-quality (#243) Make the React-correctness gate (React Doctor — already a required CI check on orbit-ui-mobile) a first-class part of the launch-readiness skills, so the full standing backlog is surfaced and driven to zero, not just the PR-scoped CI gate. - prod-readiness workflow: new React phase runs a scoped full-repo scan (react-doctor@0.7.6 --project apps/web,apps/mobile,packages/shared, hermetic flags matching CI, design/handoff excluded) and returns structured findings. - prod-readiness SKILL: React Doctor is binding inventory item #10 (errors -> High, warnings -> Low/Info); coverage row + GO verdict now require zero react-doctor errors. - audit-code-quality SKILL: Phase 2.5 runs the same scan on any frontend scope. Refs #243 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(skills): derive react-doctor counts from findings + portable temp path Addresses PR #460 review. (1) prod-readiness.mjs now derives react-doctor errorCount/warningCount deterministically from reactDoctor.findings (reusing audit.mjs's countBy pattern) instead of trusting the sub-agent's self-reported aggregate that gates the launch verdict, so a mis-reported count can no longer produce a false GO. (2) Replaces the shell-specific %TEMP%/$TMPDIR --json-out paths (duplicated and drifted across prod-readiness.mjs and audit-code-quality/SKILL.md) with one portable convention (os.tmpdir()). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>


Summary
Test plan
🤖 Generated with Claude Code