Upgrade React Native 0.82.1 → 0.83.9#457
Merged
Merged
Conversation
Version bumps done. Blocked by PlatformConstants TurboModule not found at runtime — CoreReactPackage should register it internally via ReactInstance but it's not being discovered. Needs investigation.
In RN 0.83 bridgeless/Fabric mode, the React surface starts rendering while the login activity is on top. When login dismisses, the surface is invisible (black screen) even though JS executes correctly. Fix: detect login completion in onResume (loginInProgress flag) and recreate() the activity to get a fresh visible surface.
…ssert.js
- Bridge files use .mm (Objective-C++), not .m
- Android bridge is in this repo (android/), not SalesforceMobileSDK-Android
- Tests use test/assert.js, not chai
- Podspec uses {h,m,mm}
- React version 19.2.6
…correct file locations
…ative into rn-upgrade-0.83
…folder - Remove shared/test/ directory and iosTests symlink - Both iosTests/ and androidTests/ now expect test_credentials.json at their root (gitignored) - prepareios.js and prepareandroid.js copy it to where the native project reads it (ios/ for Xcode, android assets for Android) - CI workflows run create_test_credentials_from_env.js before prepare so the file exists when prepare copies it
Tests should always run against the local code, not a remote branch. This removes the need to push changes before testing.
Ensures the latest test_credentials.json is always picked up regardless of when prepareandroid.js was run.
- Single credentials file at shared/test/test_credentials.json (gitignored) - prepareios.js and prepareandroid.js copy from there - Gradle copyTestCredentials task also reads from there - CI scripts write to shared/test/ from TEST_CREDENTIALS env var - Added test_credentials.json.sample as a template - Bumped iosTests/package.json to RN 0.83.9 / React 19.2.6
- Fix .m → .mm extensions for Objective-C++ bridge files - Update NativeModules references to TurboModuleRegistry - Document shared/test/test_credentials.json pattern - Add docs/android-tests/ (README + PREPAREANDROID_DETAILED) - Update architecture docs for bridgeless/TurboModule mode
3 tasks
# Conflicts: # .gitignore # androidTests/android/app/build.gradle.kts # androidTests/create_test_credentials_from_env.js # androidTests/prepareandroid.js # iosTests/create_test_credentials_from_env.js # iosTests/package.json # iosTests/prepareios.js
|
||||||||||||||
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #457 +/- ##
======================================
Coverage ? 76.95%
======================================
Files ? 15
Lines ? 651
Branches ? 0
======================================
Hits ? 501
Misses ? 150
Partials ? 0 🚀 New features to boost your workflow:
|
bbirman
approved these changes
Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Upgrade React Native from 0.82.1 to 0.83.9. This is the first RN release with zero user-facing breaking changes.
Changes
@react-native/*0.83.9,react-android:0.83.9onCreatewhileLoginActivityis on top. When login dismisses, the surface is invisible. AddedloginInProgressflag — whenonResumedetects login just completed, callsrecreate()to get a fresh visible surface.shared/test/test_credentials.json(single file for both platforms, with.sampletemplate)docs/android-tests/Companion PR
Test plan