Skip to content

Conversation

@floydkim
Copy link
Member

@floydkim floydkim commented Nov 6, 2025

Reference to #104

Problem

Key implementations that CodePush update behavior depends on have changed since RN 0.81.0, causing updates to fail to work properly.

ReactHostImpl: mReactHostDelegate -> reactHostDelegate facebook/react-native@5413304

ReactDelegate: mReactHost -> reactHost facebook/react-native@50ea5b4

The following issues were identified:

  • After downloading a new update, the bundle is not loaded through calling reload method, and the app must be restarted for the update to take effect.
  • When the bundle is removed using clearUpdates method and reload method is called, a crash occurs.

This PR fixes these issues and, through slightly improved manual testing, confirms that updates work correctly on RN 0.81 and 0.82.

--

Edit:

It worked correctly with the RN template app.
However, when testing on a production app using RN 0.81.5, accessing the field via reflection no longer worked as expected.

The reactHost field could not be retrieved from the ReactDelegate instance, and the root cause was unclear.

The issue was resolved by switching to use the getReactHost() method, which was introduced in RN 0.77.

As a result, the latest compatible library version for RN 0.74 ~ 0.76 is now limited to v12.0.2.
The fix has been verified to work correctly on RN 0.81.5 under both the old and new architecture.

@floydkim floydkim changed the title fix(Android): support 0.81+ by updating field accesses fix(Android): make update and reload behavior work properly Nov 7, 2025
@floydkim floydkim merged commit 75b4ed6 into master Nov 7, 2025
2 checks passed
@floydkim floydkim deleted the fix-0.81+-android branch November 7, 2025 07:08
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.

2 participants