chore: upgrade Expo SDK 55 → 57 and React Native 0.83 → 0.86
Merged
JA
19d ago+3450+3450+0123456789012345678901234567890123456789-4750-4750-0123456789012345678901234567890123456789
Summary by cubic
Upgrade Expo SDK 55 → 57 and react-native 0.83 → 0.86.3 across the monorepo, migrate navigation to expo-router/react-navigation, replace native menus with @expo/ui, and include targeted a11y/perf/test cleanups.
-
Dependencies
expoand modules → 57 with latest SDK patches;react-native→ 0.86.3 with reanimated 4.5.1, screens ~4.26.0, and worklets 0.10.1; add@expo/uiand@expo/material-symbols; registerexpo-imageandexpo-status-baras plugins;@sentry/react-native→ ~8.18.- Native: drop
zeegoand@react-native-menu/menu; move the iOS deployment target toapp.json(16.4); removeexpo-build-properties. - Web/server/docs: bump
@tanstack/*,hono,croner,vite,next, andtailwind*;bun→ 1.3.14; docs regenerated viacreateOpenAPIPage. - Tooling: remove
claude.ymlandclaude-code-review.yml; bump checkout/setup-node/codecov actions; simplify.oxlintrc.
-
Refactors
- Menus: replace
zeegodropdowns with@expo/uiMenuViewand use@expo/material-symbolson Android; remove menu-open haptics. - Navigation/theme: switch to
expo-router/react-navigationThemeProviderand header APIs; extractheaderRighthelpers. - Auth: replace
signIn.oauth2/genericOAuthClientwithsignIn.social; forward the legacy/oauth2/callback/:idpath server-side. - Storage/globals: strip leading underscores (MMKV scopes, session flags, cron maps, DB singletons); simplify
drizzleinit. - A11y/UI: add
aria-labels, remove redundantroles, usearia-pressedfor star rating, fasteruseIsMobileinit. - Tests: stronger mock/widget typings; clearer duplicate active job assertion.
- Menus: replace