Skip to content

support multiple old pseudo elements for same name but different source node (#56479)#56479

Closed
zeyap wants to merge 1 commit intofacebook:mainfrom
zeyap:export-D101237889
Closed

support multiple old pseudo elements for same name but different source node (#56479)#56479
zeyap wants to merge 1 commit intofacebook:mainfrom
zeyap:export-D101237889

Conversation

@zeyap
Copy link
Copy Markdown
Contributor

@zeyap zeyap commented Apr 16, 2026

Summary:

Changelog:

[General] [Fixed] - support multiple old pseudo elements for same name but different source node

We will need to track multiple old pseudo elements for same name but different source node when doing a series of shared transitions:

  1. go from component A to component B (A stays hidden with Activity but not unmounted)
  2. go back to A (B unmounted)
  3. hide A and show B again

A will lose its old pseudo element node, because at #1, B's old pseudo element node overrides A's (since they have the same vt name), and at #2, B's old node gets cleaned up. At #3, since createViewTransitionInstance won't be called for A again (react reconciler assumes the instance is only created once until a component is unmounted), there's no valid old node for A anymore.

Reviewed By: sammy-SC

Differential Revision: D101237889

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Apr 16, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Apr 16, 2026

@zeyap has exported this pull request. If you are a Meta employee, you can view the originating Diff in D101237889.

…ce node (facebook#56479)

Summary:

## Changelog:

[General] [Fixed] - support multiple old pseudo elements for same name but different source node

We will need to track multiple old pseudo elements for same name but different source node when doing a series of shared transitions: 
1. go from component A to component B (A stays hidden with Activity but not unmounted)
2. go back to A (B unmounted)
3. hide A and show B again

A will lose its old pseudo element node, because at facebook#1, B's old pseudo element node overrides A's (since they have the same vt name), and at facebook#2, B's old node gets cleaned up. At facebook#3, since createViewTransitionInstance won't be called for A again (react reconciler assumes the instance is only created once until a component is unmounted), there's no valid old node for A anymore.

Reviewed By: sammy-SC

Differential Revision: D101237889
@meta-codesync meta-codesync bot changed the title support multiple old pseudo elements for same name but different source node support multiple old pseudo elements for same name but different source node (#56479) Apr 17, 2026
@zeyap zeyap force-pushed the export-D101237889 branch from 4df6957 to 13372dc Compare April 17, 2026 13:44
@meta-codesync meta-codesync bot closed this in 370606d Apr 17, 2026
@react-native-bot
Copy link
Copy Markdown
Collaborator

This pull request was successfully merged by @zeyap in 370606d

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

@react-native-bot react-native-bot added the Merged This PR has been merged. label Apr 17, 2026
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. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants