fix(deps): pin react to 19.2.3 to match Expo's exact requirement #147
No reviewers
Labels
No labels
dependencies
major
security-pin
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
trails-cool/trails!147
Loading…
Reference in a new issue
No description provided.
Delete branch "align-react-with-expo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The mobile app crashed on startup before any screen mounted:
react-native@0.85.3(the newest 0.85.x) bundles renderer 19.2.3, and React's runtime check is exact-match, not semver.Why not upgrade Expo instead
Expo pins react to an exact version in both SDKs, so an SDK upgrade would not have avoided this:
~56.0.210.85.319.2.3~57.0.220.86.319.2.3Why the pin is in the catalog
pnpm-workspace.yamloverridesreactandreact-domto"catalog:", which forces the version across every workspace package — a pin inapps/mobile/package.jsonis silently ignored (verified:pnpm install --forcestill linked 19.2.7).react-dommoves withreactbecause React enforces the same exact-match between them; leaving it at 19.2.7 would relocate the crash to journal and planner.Why it went unnoticed
apps/mobile/package.jsonlistsreactinexpo.install.exclude, soexpo install --checkskips the one package that needed checking. Its 9 suggestions are patch-level Expo drift plus a types-only@types/reactbump — none of them fix this.Also included
@trails-cool/i18nreact peer>=18→>=19(no React 18 consumer exists)@trails-cool/uireact/react-dom peer aligned to>=19Verification
pnpm typecheck14/14,pnpm test12/12,pnpm lint14/14🤖 Generated with Claude Code