chore: upgrade React Native to 0.85#1124
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates project dependencies, including React Native to version 0.85.0, TypeScript to 6.0.3, and various Android build tools. To accommodate the removal of public NativeModule exports in React Native 0.85, a local NativeModule interface is introduced, and EmitterSubscription is replaced with EventSubscription. The review feedback recommends making addListener and removeListeners optional in the local NativeModule definition to prevent compilation errors with standard modules or mocks. Additionally, it suggests replacing explicit as (event: any) => void type assertions in SessionWrapper.ts with arrow function wrappers to preserve TypeScript type safety.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
7433d59 to
e0d6d1a
Compare
|


Description
Upgrades the SDK's development target from React Native 0.78.3 to 0.85.0.
This is a minimal, conservative upgrade — only version bumps and TypeScript breaking-change fixes are applied. No structural/build changes (no
esm: true, no newexportsfield, no Metro config restructuring).Ticket: COSDK-1293
Changes
Dependency bumps
react-native0.78.3 → 0.85.0react19.0.0 → 19.2.3typescript^5.2.2 → ^6.0.3react-native-builder-bob^0.40.17 → ^0.41.0react-native-screens4.11.1 → 4.25.2 (fixesShadowNode::Sharedcompile error on RN 0.85)compileSdk/targetSdk36, Kotlin 2.1.20, Gradle 9.3.1TypeScript fixes (RN 0.85 breaking API changes)
NativeModuleremoved from RN public exports → local type inEventListenerWrapper.ts,TurboModulewhere appropriateEmitterSubscriptiondeprecated →EventSubscriptionNativeEventEmitter.addListenercallback signature → cast to(event: any) => voidfor RN 0.76–0.85 compatibilityOther
peerDependencies:react-native: *→>=0.76.0(New Architecture minimum, aligns with Expo 52)@react-native/no-deep-importsforsrc/specs/(spec files must use deep imports for babel codegen compatibility on RN 0.76–0.79).nvmrcpinning Node 24Consumer impact
>=0.76.0(New Architecture required). Old Architecture is not supported.