Last Updated: 2026-02-05
Status: ✅ Resolved
Web was upgraded from React 18 to React 19 and reintegrated into the npm workspace. Both mobile and web now use React 19.1.0.
| Project | React Version | @types/react Version |
|---|---|---|
| Mobile | 19.1.0 | ~19.1.10 |
| Web | 19.1.0 | ~19.1.10 |
| Shared | No dependency | No dependency |
- Removed ~54 unused dependencies from
web/package.json(including the@lshay/uiblocker with its hardreact: ^18peer dep) - Upgraded web to React 19.1.0 — zero source code changes needed (web only uses
useState,React.ReactNode,React.CSSProperties, JSX) - Re-added
"web"to root workspaces inpackage.json - Added root
overridesto pinreact/react-domto19.1.0across the entire workspace (prevents transitive deps from hoisting React 19.2.x) - Upgraded
lucide-reactfrom0.358.0to^0.563.0(old version hadreact: ^18peer dep) - Pinned
react-router-hono-serverto~2.19.0(latest 2.24.0 requires vite 7)
- Fixed pre-existing
strictNullCheckstype errors inweb/src/app/routes/admin/monitoring.tsx(added default values for nullable loader data)
None currently documented