[codex] Implement onboarding auth flow#153
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Tests
Summary
Verification
|
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/features/auth/dayova-auth-flow.tsx`:
- Around line 2208-2263: Add checkbox accessibility semantics to the GoalList
row Pressable so screen readers announce selection state like in ChipCloud. In
GoalList, set accessibilityRole to checkbox and pass accessibilityState with
checked based on the selected value, while keeping the existing onPress toggle
behavior and visual selected styling unchanged.
- Around line 524-526: The isValidName validator currently uses a Latin-1-only
regex, which rejects many valid German-market names with extended Latin
characters. Update the name check in dayova-auth-flow.tsx to use a Unicode-aware
pattern (for example, property escapes) while still preserving the existing
length and allowed punctuation behavior. Keep the change localized to
isValidName so the name step accepts valid non-Latin-1 characters without
broadening unrelated validation.
- Around line 1890-2055: The progress ring in RangeSelector saturates because
its dash length is based on selected * 3.5, so durations near the upper end all
render as a full circle. Update the ring calculation in RangeSelector to
normalize the selected value against the available duration range (using values,
the min/max options, or equivalent bounds) and map that ratio to the circle
circumference instead of using a raw multiplier. Keep the minimum visual floor
if needed, but ensure larger durations still produce distinct progress values
across the full set.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 83ed6acc-4d40-4d61-bfc9-2974bc909371
⛔ Files ignored due to path filters (5)
assets/onboarding/dayova-y.pngis excluded by!**/*.pngassets/onboarding/intro-path.svgis excluded by!**/*.svgassets/onboarding/intro-tasks.svgis excluded by!**/*.svgassets/onboarding/intro-upload.svgis excluded by!**/*.svgpnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (18)
convex/users.tsdocs/contexts/auth/CONTEXT.mdmetro.config.jspackage.jsonsrc/app/(auth)/index.tsxsrc/app/(auth)/login.tsxsrc/app/(auth)/onboarding.tsxsrc/app/(auth)/register.tsxsrc/app/_layout.tsxsrc/components/onboarding/onboarding-flow.test.tssrc/components/onboarding/onboarding-flow.tssrc/components/onboarding/onboarding-ui.tsxsrc/components/ui/date-time-picker-sheet.tsxsrc/components/ui/icon.tsxsrc/context/AuthContext.tsxsrc/context/OnboardingContext.tsxsrc/features/auth/dayova-auth-flow.tsxsrc/types/svg.d.ts
Summary
Root Cause
The previous range and picker controls were visually styled like interactive controls, but the range selector only exposed fixed tick presses and the wheel picker only supported taps. The post-signup Convex save path could also race user profile creation.
Validation
pnpm typecheckpnpm lintpnpm exec convex dev --oncepnpm testSummary by CodeRabbit
New Features
Bug Fixes