Skip to content

chore(dogfood): upgrade React Native to 0.83.2#2124

Merged
santhoshvai merged 4 commits intomainfrom
feat/update-rn-version-dogfood
Feb 27, 2026
Merged

chore(dogfood): upgrade React Native to 0.83.2#2124
santhoshvai merged 4 commits intomainfrom
feat/update-rn-version-dogfood

Conversation

@santhoshvai
Copy link
Member

@santhoshvai santhoshvai commented Feb 12, 2026

Source: https://react-native-community.github.io/upgrade-helper/?from=0.81.4&to=0.83.2

Summary

  • Upgrade React Native from 0.81.5 to 0.83.2 in the dogfood sample app
  • Upgrade React from 19.1.0 to 19.2.0
  • Upgrade react-native-reanimated to 4.2.1 and react-native-worklets to 0.7.3 for RN 0.83 compatibility
  • Migrate Android MainApplication.kt to the new reactHost by lazy pattern introduced in RN 0.83
  • Update Gradle wrapper from 8.14.3 to 9.0.0
  • Apply iOS native config changes from rn-diff-purge (quoted Xcode shell script paths, CADisableMinimumFrameDurationOnPhone in Info.plist)

Test plan

  • iOS simulator build passes (xcodebuild for iPhone 16 / iOS 18.6)
  • Android debug build passes (./gradlew assembleDebug)
  • Verify app launches and basic video call flow works on iOS device
  • Verify app launches and basic video call flow works on Android device

Summary by CodeRabbit

  • Chores

    • Updated React, React Native, and related dev dependencies for compatibility.
    • Upgraded Gradle wrapper to 9.0.0.
    • Streamlined Android app initialization for a simpler startup path.
    • Increased Gradle JVM heap for CI builds.
  • Bug Fixes

    • Fixed iOS build script quoting.
    • Added iOS frame-duration setting to optimize video performance.
  • New Features

    • Enabled video effects support in the Android sample.

- 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
@changeset-bot
Copy link

changeset-bot bot commented Feb 12, 2026

⚠️ No Changeset found

Latest commit: 5c0c0c8

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 12, 2026

📝 Walkthrough

Walkthrough

Android 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

Cohort / File(s) Summary
Android application
sample-apps/react-native/dogfood/android/app/src/main/java/io/getstream/rnvideosample/MainApplication.kt
Replaces reactNativeHost: ReactNativeHost with reactHost: ReactHost by lazy { ... }, uses loadReactNative(this) import, and adds VideoEffectsPackage to autolinked packages.
Android build
sample-apps/react-native/dogfood/android/gradle/wrapper/gradle-wrapper.properties
Gradle wrapper distribution updated from gradle-8.14.3-bin.zip to gradle-9.0.0-bin.zip.
iOS project/config
sample-apps/react-native/dogfood/ios/Podfile, sample-apps/react-native/dogfood/ios/StreamReactNativeVideoSDKSample.xcodeproj/project.pbxproj, sample-apps/react-native/dogfood/ios/StreamReactNativeVideoSDKSample/Info.plist
Removed a comment inside post_install (Podfile); adjusted quoting in the "Bundle React Native code and images" build phase script (pbxproj); added CADisableMinimumFrameDurationOnPhone = true to Info.plist.
Dependencies / Tooling
sample-apps/react-native/dogfood/package.json
Bumped dependency versions: react19.2.0, react-native^0.83.2, react-native-reanimated~4.2.1, react-native-worklets^0.7.3; aligned RN tooling devDependencies to ^0.83.2 and updated @types/react.
CI workflow
.github/workflows/react-native-workflow.yml
Added environment variable GRADLE_OPTS with value -Dorg.gradle.jvmargs=-Xmx4g to increase Gradle JVM heap in CI.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 I hopped through hosts with a curious twitch,

Lazy ReactHost found a new stitch.
Gradle got taller, iOS got a tweak,
Packages snugged in—our sample app’s sleek! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: upgrading React Native to 0.83.2 in the dogfood sample app, which aligns with the primary objective of this pull request.
Description check ✅ Passed PR description covers key upgrade details (RN 0.81.5→0.83.2, React 19.1.0→19.2.0, dependency versions, Android/iOS changes) and includes test plan, but lacks Overview and Implementation notes sections from template.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/update-rn-version-dogfood

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@santhoshvai santhoshvai marked this pull request as ready for review February 12, 2026 13:20
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

📥 Commits

Reviewing files that changed from the base of the PR and between 9a05547 and 181b880.

📒 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
@santhoshvai santhoshvai merged commit 06e1b85 into main Feb 27, 2026
8 checks passed
@santhoshvai santhoshvai deleted the feat/update-rn-version-dogfood branch February 27, 2026 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant