Skip to content

Conversation

@lenaic
Copy link

@lenaic lenaic commented Jun 4, 2025

Summary:
On iOS the shadow node was expecting a layout call for every clone. With passChildrenWhenCloningPersistedNodes components may have the image source updated without layout being called on it due to the re-use of the previous layout data thanks to the improved handling of layout invalidation.

This diff triggers the image request as soon as possible if the cloned shadow node has a clean layout. The request will be made as soon as the image manager is set on the shadow node.

Changelog: [iOS][Fixed] - Fix RCTImageComponentView image loading after source props change with no layout invalidation

Differential Revision: D75919671

@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 fb-exported labels Jun 4, 2025
@facebook-github-bot
Copy link
Contributor

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

@lenaic lenaic force-pushed the export-D75919671 branch from 1711f06 to 0bc3119 Compare June 4, 2025 13:55
lenaic pushed a commit to lenaic/react-native-macos that referenced this pull request Jun 4, 2025
…ok#51791)

Summary:

On iOS the <Image> shadow node was expecting a layout call for every clone. With `passChildrenWhenCloningPersistedNodes` <Image> components may have the image source updated without layout being called on it due to the re-use of the previous layout data thanks to the improved handling of layout invalidation.

This diff triggers the image request as soon as possible if the cloned shadow node has a clean layout. The request will be made as soon as the image manager is set on the shadow node.

Changelog: [iOS][Fixed] - Fix RCTImageComponentView image loading after source props change with no layout invalidation

Differential Revision: D75919671
@facebook-github-bot
Copy link
Contributor

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

lenaic pushed a commit to lenaic/react-native-macos that referenced this pull request Jun 4, 2025
…ok#51791)

Summary:
Pull Request resolved: facebook#51791

On iOS the <Image> shadow node was expecting a layout call for every clone. With `passChildrenWhenCloningPersistedNodes` <Image> components may have the image source updated without layout being called on it due to the re-use of the previous layout data thanks to the improved handling of layout invalidation.

This diff triggers the image request as soon as possible if the cloned shadow node has a clean layout. The request will be made as soon as the image manager is set on the shadow node.

Changelog: [iOS][Fixed] - Fix RCTImageComponentView image loading after source props change with no layout invalidation

Differential Revision: D75919671
@lenaic lenaic force-pushed the export-D75919671 branch from 0bc3119 to 81f3c04 Compare June 4, 2025 14:00
lenaic pushed a commit to lenaic/react-native-macos that referenced this pull request Jun 5, 2025
…ok#51791)

Summary:

On iOS the <Image> shadow node was expecting a layout call for every clone. With `passChildrenWhenCloningPersistedNodes` <Image> components may have the image source updated without layout being called on it due to the re-use of the previous layout data thanks to the improved handling of layout invalidation.

This diff triggers the image request as soon as possible if the cloned shadow node has a clean layout. The request will be made as soon as the image manager is set on the shadow node.

Changelog: [iOS][Fixed] - Fix RCTImageComponentView image loading after source props change with no layout invalidation

Reviewed By: NickGerleman, sammy-SC

Differential Revision: D75919671
@lenaic lenaic force-pushed the export-D75919671 branch from 81f3c04 to 901d9f1 Compare June 5, 2025 16:54
…ok#51791)

Summary:
Pull Request resolved: facebook#51791

On iOS the <Image> shadow node was expecting a layout call for every clone. With `passChildrenWhenCloningPersistedNodes` <Image> components may have the image source updated without layout being called on it due to the re-use of the previous layout data thanks to the improved handling of layout invalidation.

This diff triggers the image request as soon as possible if the cloned shadow node has a clean layout. The request will be made as soon as the image manager is set on the shadow node.

Changelog: [iOS][Fixed] - Fix RCTImageComponentView image loading after source props change with no layout invalidation

Reviewed By: NickGerleman, sammy-SC

Differential Revision: D75919671
@facebook-github-bot
Copy link
Contributor

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

@lenaic lenaic force-pushed the export-D75919671 branch from 901d9f1 to 24091a8 Compare June 5, 2025 17:00
@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Jun 5, 2025
@facebook-github-bot
Copy link
Contributor

This pull request has been merged in cd5d745.

@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by Nick Lefever in cd5d745

When will my fix make it into a release? | How to file a pick request?

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