Skip to content

Upgrade React Native to 0.84.0#4913

Draft
yedidyak wants to merge 6 commits intomasterfrom
rn_84
Draft

Upgrade React Native to 0.84.0#4913
yedidyak wants to merge 6 commits intomasterfrom
rn_84

Conversation

@yedidyak
Copy link
Contributor

@yedidyak yedidyak commented Mar 8, 2026

Summary

  • Bump react-native 0.83.00.84.0, react 19.2.019.2.3, @react-native/* 0.83.00.84.0, @react-native-community/cli* 20.0.220.1.1 across detox, test app, and demo app
  • Fix demo app MainApplication.kt to use modern pattern (load() + applicationContext) matching the test app
  • Add RN 84 Buildkite CI pipelines (test app + demo app, Android + iOS)
  • Move REACT_NATIVE_COMPAT_TEST from RN 83 to RN 84 demo app jobs

Test plan

  • yarn install succeeds
  • Build Android test app (debug + release)
  • Build iOS test app
  • Build demo app (both platforms)
  • Run yarn integration in detox/test
  • All CI pipelines pass (including older RN version pipelines)

🤖 Generated with Claude Code

yedidyak and others added 6 commits March 8, 2026 20:29
Adds a comprehensive guide for adding support for new React Native
versions in Detox, based on patterns from recent upgrade PRs (0.78-0.83).
Covers reflection breakage research, version-switch infrastructure,
CI pipeline setup, and common pitfalls.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bump react-native 0.83.0→0.84.0, react 19.2.0→19.2.3, @react-native/* 0.83.0→0.84.0,
@react-native-community/cli* 20.0.2→20.1.1 across detox, test app, and demo app.
Fix demo app MainApplication.kt to use modern pattern (load() + applicationContext).
Add RN 84 Buildkite CI pipelines and move REACT_NATIVE_COMPAT_TEST to RN 84 jobs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
RN 0.84 removed NotThreadSafeBridgeIdleDebugListener and the
addBridgeIdleDebugListener/removeBridgeIdleDebugListener methods
from CatalystInstance. Use reflection to interact with these APIs
so the code compiles against any RN version. On RN 0.84+ (where
the API is absent), the resource gracefully falls back to reporting
idle, since bridge monitoring is only relevant for old architecture
which is being phased out.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The previous loadReactNative(this) call was handling SoLoader
initialization internally. After replacing it with load(), SoLoader
must be initialized explicitly to avoid IllegalStateException.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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