Fix display: contents nodes not being cloned with the wrong owner #1826

Closed
j-piasecki wants to merge 1 commits from @jpiasecki/contents-fix-updates into main

1 Commits

Author SHA1 Message Date
Jakub Piasecki
5f4fcb1aa2 Fix display: contents nodes not being cloned with the wrong owner (#1826)
Summary:
This PR fixes two issues with `display: contents` implementation:
1. When a node with `display: contents` set is a leaf, it won't be cloned after the initial tree is built. The added test case covers this scenario.
2. It was possible for the subtree of `display: contents` nodes not to be cloned during layout. I don't have a minimal reproduction for this one, unfortunately. It was discovered in the Expensify app: https://github.com/Expensify/App/issues/65268, along with a consistent reproduction. In that specific case, it seems to be heavily tied to `react-native-onyx`, which is a state management library.

Changelog: [GENERAL][FIXED] - Fixed nodes with `display: contents` set being cloned with the wrong owner


Reviewed By: adityasharat

Differential Revision: D78084270

Pulled By: j-piasecki
2025-07-10 05:23:01 -07:00