mobile - #11
Conversation
thomasluizon
commented
Apr 6, 2026
- chore: complete mobile-web parity and compatibility updates
- mobile: calendar, chat, and today UI updates
- feat: align mobile app with web parity
Several UX and behavior improvements across the mobile app: - app.json: disable OTA updates and add expo-dev-client plugin (launcher mode). - Calendar: add recurring toggle to filter one-time vs recurring entries, localized date formatting (date-fns locales), useTimeFormat for displaying times, fetching indicator, a "go to day" button that routes to the main tab, and various type fixes/styles. - Chat: add SuggestionChips component and use it in empty state; refactor animated components to accept props and pass styles/primary color; minor callback → useCallback changes and recording visualizer prop wiring. - Today/index: persist showGeneralOnToday in AsyncStorage, read optional date query param via expo-router and set the active date/view, useTotalHabitCount hook, and swap in summary/goal UI components (habit summary card, goals view); remove some older gamification UI imports. - New components and utilities: add suggestion-chips, goals-view, habit-summary-card, habit utils and tests; update related hooks and component files to accommodate new behaviors and formatting. - Misc: package.json and package-lock updates and several Android build artifacts were added (build outputs). These changes focus on improving calendar filtering/localization, chat suggestion UX, and persisting/displaying Today view preferences.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 61a01f3836
ℹ️ 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".
| now: Date = new Date(), | ||
| ): HabitDayStatus { | ||
| if (wasLogged) return 'completed' | ||
| if (isToday(date) || isAfter(date, now)) return 'upcoming' |
There was a problem hiding this comment.
Compare against injected
now when deriving day status
determineHabitDayStatus takes a now parameter, but this branch uses isToday(date), which always compares against the real system clock. That makes status calculation incorrect whenever callers provide a custom reference time (for tests, replayed calendar data, or timezone-normalized comparisons): a date that is “today” relative to now can be marked missed if the device date differs. This also makes the new calendar utility tests date-dependent and flaky over time.
Useful? React with 👍 / 👎.
#330) Deleting a habit/goal/tag shows an Undo snackbar; Undo restores via the orbit-api #263 restore endpoints (deploy #263 first). Fires from each delete hook's onSuccess (one seam, no call-site changes); reuses the existing showQueued toast. Web adds Ctrl/Cmd+Z (listener bound while visible, cleaned up, double-fire guarded). Mobile restore rides the offline queue. Shared: restore endpoint builders + additive mutationTypeSchema values. i18n both locales. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>