Skip to content

Add unit test for runtime reference updates on clone#44758

Closed
lenaic wants to merge 6 commits into
facebook:mainfrom
lenaic:export-D57893880
Closed

Add unit test for runtime reference updates on clone#44758
lenaic wants to merge 6 commits into
facebook:mainfrom
lenaic:export-D57893880

Conversation

@lenaic
Copy link
Copy Markdown

@lenaic lenaic commented Jun 3, 2024

Summary:
Changelog: [Internal]

Adding a unit test to verify that the shadow node references are correctly updated to reference the new shadow node instance after cloning.

Reviewed By: sammy-SC

Differential Revision: D57893880

Nick Lefever added 5 commits June 1, 2024 18:49
Summary:
Adding a feature flag to conditionally enable shadow node reference updates when cloning nodes within react native.

The feature flag will be used to run an experiment with this feature.

Differential Revision: D57860868
Summary:
React native clones shadow nodes internally without providing the new instances to the React renderer (current fiber tree). To support updating the shadow node references held by the JS side, this diff wraps the returned shadow nodes and adds a link to the runtime reference on the shadow node instance.

This will allow for updating the shadow node references held within the JS runtime from the native side.

Differential Revision: https://www.internalfb.com/diff/D57860869?entry_point=27
Summary:
Any shadow node cloning happening outside the execution of the UIManagerBinding cloneNode call should guarantee that the references held to the shadow node are updated to the latest revision.

This guarantees that the React renderer's current fiber tree holds references to the ShadowNode instances that acually were layed out and committed for rendering on the native side. Maintaining these references up to date on the JS current fiber tree allows to maximize layout caches on subsequent commits.

Differential Revision: https://www.internalfb.com/diff/D57860867?entry_point=27
Differential Revision: D58000071
@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner labels Jun 3, 2024
@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request was exported from Phabricator. Differential Revision: D57893880

@analysis-bot
Copy link
Copy Markdown

analysis-bot commented Jun 3, 2024

Platform Engine Arch Size (bytes) Diff
android hermes arm64-v8a 19,609,480 +32,877
android hermes armeabi-v7a n/a --
android hermes x86 n/a --
android hermes x86_64 n/a --
android jsc arm64-v8a 22,978,975 +32,824
android jsc armeabi-v7a n/a --
android jsc x86 n/a --
android jsc x86_64 n/a --

Base commit: a6a7cdf
Branch: main

@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request was exported from Phabricator. Differential Revision: D57893880

@lenaic lenaic force-pushed the export-D57893880 branch from 6fb54fa to d51cc75 Compare June 3, 2024 13:51
@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request was exported from Phabricator. Differential Revision: D57893880

@lenaic lenaic force-pushed the export-D57893880 branch from d51cc75 to 403085d Compare June 3, 2024 13:59
Summary:
Pull Request resolved: facebook#44758

Changelog: [Internal]

Adding a unit test to verify that the shadow node references are correctly updated to reference the new shadow node instance after cloning.

Reviewed By: sammy-SC

Differential Revision: D57893880
@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request was exported from Phabricator. Differential Revision: D57893880

@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request has been merged in 839ee0a.

@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Jun 4, 2024
kosmydel pushed a commit to kosmydel/react-native that referenced this pull request Jun 11, 2024
Summary:
Pull Request resolved: facebook#44758

Changelog: [Internal]

Adding a unit test to verify that the shadow node references are correctly updated to reference the new shadow node instance after cloning.

Reviewed By: sammy-SC

Differential Revision: D57893880

fbshipit-source-id: 6e36ca3d1b159f7bafb084246f714f3bfec58c1e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants