chore(mobile): upgrade to Expo SDK 58 beta and React Native 0.88 RC

Bump every Expo package to the SDK 58 line (expo@58.0.0-preview.2,
react-native@0.88.0-rc.0, gesture-handler 3.x, reanimated 4.6, screens 4.27)
and absorb the breaking changes:

- iOS scene lifecycle: the SDK 58 prebuild template now generates
  SceneDelegate.swift and the scene manifest itself, so the custom
  withIosSceneLifecycle plugin (and its regex surgery on AppDelegate) is
  deleted. Expo forwards URL, user-activity, and quick-action events to the
  app delegate under the scene lifecycle.
- React Native strict TypeScript API: host-component refs use the new
  ViewInstance/TextInstance/TextInputInstance types, the codegen specs import
  codegenNativeComponent and CodegenTypes from the react-native root, and the
  removed StatusBar `translucent` prop is dropped. expo-blur and
  expo-glass-effect still type refs as Ref<View>, so both get a types-only
  pnpm patch until upstream adopts ViewInstance.
- expo-file-system: File.write, readBytes and writeBytes are async; call
  sites await them so the atomic rename and upload ordering hold.
- expo-notifications now shows foreground notifications by default. A
  notification handler suppresses the banner only when it targets the thread
  already on screen and lets everything else through.
- gesture-handler 3.x: ReanimatedSwipeable's simultaneousWithExternalGesture
  became simultaneousWith and dragOffsetFromRightEdge became
  dragOffsetFromRight, with Gesture.Native() swapped for useNativeGesture.
- Patches re-targeted to the new versions (metro-config source-map sanitizer,
  gesture-handler swipeable extensions, screens header bar items, expo-audio
  recorder error state, expo-sharing Android originalName, expo-widgets
  Live Activity environment). The reanimated layout-animation backport is
  upstream in 4.6.0 and its patch is removed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
409c12f486Julius Marminge committed on 9/19/2026, 7:16:30 AM· committed by Julius Marmingeparent29a23fd
60 files changedLine totals unavailable