chore(dogfood): upgrade React Native to 0.83.2#2124
Conversation
- Update react-native 0.81.5 → 0.83.2 and react 19.1.0 → 19.2.0 - Update @react-native/babel-preset, metro-config, typescript-config to 0.83.2 - Update @types/react to 19.2.0 - Update react-native-reanimated to 4.2.1 and react-native-worklets to 0.7.3 - Migrate MainApplication.kt to new reactHost by lazy pattern (RN 0.83) - Update Gradle wrapper to 9.0.0 - Add CADisableMinimumFrameDurationOnPhone to Info.plist - Quote paths in Xcode shell script build phase - Remove stale comment in Podfile
|
📝 WalkthroughWalkthroughAndroid app switches from a ReactNativeHost to a lazy ReactHost setup and adds VideoEffectsPackage; Gradle wrapper bumped to 9.0.0. iOS Podfile/script quoting adjusted and Info.plist gains CADisableMinimumFrameDurationOnPhone=true. Sample app dependencies and RN tooling are upgraded; CI adds GRADLE_OPTS for larger JVM heap. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In
`@sample-apps/react-native/dogfood/android/gradle/wrapper/gradle-wrapper.properties`:
- Line 3: Update the Gradle distribution referenced by distributionUrl in
gradle-wrapper.properties to a compatible version: determine which Android
Gradle Plugin your project pulls in (from `@react-native/gradle-plugin`) and set
distributionUrl accordingly—use Gradle 9.1.0 or newer if AGP 9.0.x is used, or
Gradle 9.3.1 or newer if AGP 9.1.x is used; also confirm the build JDK is
configured to JDK 17+. Locate the distributionUrl entry in
gradle-wrapper.properties and replace the gradle-9.0.0-bin.zip URL with the
appropriate gradle-9.1.0-bin.zip or gradle-9.3.1-bin.zip (or newer) to match the
AGP version.
sample-apps/react-native/dogfood/android/gradle/wrapper/gradle-wrapper.properties
Show resolved
Hide resolved
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/react-native-workflow.yml:
- Line 20: Replace the non-standard environment variable ORG_GRADLE_JVMARGS with
the recognized GRADLE_OPTS so the Gradle wrapper will honor the JVM setting;
specifically set GRADLE_OPTS to include the JVM property (e.g.
-Dorg.gradle.jvmargs=-Xmx4g) instead of ORG_GRADLE_JVMARGS in the workflow file
so Gradle 9.0 uses the intended 4g heap allocation.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
.github/workflows/react-native-workflow.yml
Replace ORG_GRADLE_JVMARGS with GRADLE_OPTS so Gradle 9.0 correctly applies the JVM arguments in the react-native workflow.
# Conflicts: # sample-apps/react-native/dogfood/ios/Podfile.lock
Source: https://react-native-community.github.io/upgrade-helper/?from=0.81.4&to=0.83.2
Summary
MainApplication.ktto the newreactHost by lazypattern introduced in RN 0.83CADisableMinimumFrameDurationOnPhonein Info.plist)Test plan
xcodebuildfor iPhone 16 / iOS 18.6)./gradlew assembleDebug)Summary by CodeRabbit
Chores
Bug Fixes
New Features