mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/45236 Changelog: [internal] ## Context We're currently observing inconsistencies between the state of the UI on Android and the propagated state in Fabric. When investigating the issue, we saw that there are some state updates that were going to be dispatched from scroll views to Fabric were skipped because the state object in native was deallocated. The reason for that is a race condition between: 1. Dispatching new state updates from the UI thread 2. Updating the state previously dispatched from the UI thread on the JS thread. {F1735383134} ## Changes This creates a new feature flag to replace the weak reference with a strong one, so when the previous state is deallocated we can still access it to set new state. The use of weak references was introduced in D44472121 to avoid holding onto JSI references (which could be contained in the state) when the runtime was deallocated, but we later introduced an explicit clean up mechanism in D45905628 that would make that unnecessary. Reviewed By: javache Differential Revision: D59233070 fbshipit-source-id: 018d8935f506430ecab96df0f7a998a37ee0f556