react/packages
Sebastian Markbåge 17d274dc12
Remove Mutation Check Around commit/measureUpdateViewTransition (#32617)
There's two ways to find updated View Transitions.

One is the "commit/measureNestedViewTransitions" pass which is used to
find things in unchanged subtrees. This can only lead to the relayout
case since there's can't possibly be any mutations in the subtree. This
is only triggered when none of the direct siblings have any mutations at
all.

The other case is "commit/measureUpdateViewTransition" which is for a
ViewTransition that itself has mutations scheduled inside of it which
leads to the "update" case.

However, there's a case between these two cases. When a direct sibling
has a mutation but there's also a ViewTransition exactly at the same
level. In that case we can't bail out on the whole set of children so we
won't trigger the "nested" case. Previously we also didn't trigger the
"commit/measureUpdateViewTransition" case because we first checked if
that had any mutations inside of it at all. This leads to neither case
picking up this boundary.

We could check if the ViewTransition itself has any mutations inside and
if not trigger the nested path.

There's a simpler way though. Because
`commit/measureUpdateViewTransition` is actually just optimistic. The
flags are pessimistic and we don't know for sure if there will actually
be a mutation until we've traversed the tree. It can sometimes lead to
the "relayout" case. So we can just use that same path, knowing that
it'll just lead to the layout pass. Therefore it's safe to just remove
this check.
2025-03-14 17:38:53 -04:00
..
dom-event-testing-library Add jest lint rules (#29760) 2024-06-10 14:31:37 -04:00
eslint-plugin-react-hooks feat(eslint-plugin-react-hooks): merge rule from eslint-plugin-react-compiler into react-hooks plugin (#32416) 2025-03-12 21:43:06 -04:00
internal-test-utils [flags] remove enableOwnerStacks (#32426) 2025-03-04 12:34:34 -05:00
jest-react Bump next prerelease version numbers (#31676) 2024-12-12 14:10:46 -05:00
react Add ref to Fragment (#32465) 2025-03-12 10:32:11 -04:00
react-art Add ref to Fragment (#32465) 2025-03-12 10:32:11 -04:00
react-cache [flags] remove enableOwnerStacks (#32426) 2025-03-04 12:34:34 -05:00
react-client [Flight]: Client-side registerServerReference must not break .bind() (#32565) 2025-03-11 22:15:38 +01:00
react-debug-tools [flags] remove enableOwnerStacks (#32426) 2025-03-04 12:34:34 -05:00
react-devtools [devtools] Introduce REACT_DEVTOOLS_PORT for the standalone react-devtools (#30767) 2025-02-11 18:14:43 +00:00
react-devtools-core fix[react-devtools-standalone]: define missing globals (#32327) 2025-02-07 11:07:46 +00:00
react-devtools-extensions React DevTools 6.1.0 -> 6.1.1 (#32326) 2025-02-07 10:54:44 +00:00
react-devtools-fusebox fix[react-devtools-fusebox]: add extension globals to build (#32297) 2025-02-03 09:59:58 +00:00
react-devtools-inline React DevTools 6.1.0 -> 6.1.1 (#32326) 2025-02-07 10:54:44 +00:00
react-devtools-shared [flags] remove enableOwnerStacks (#32426) 2025-03-04 12:34:34 -05:00
react-devtools-shell DevTools: support useEffectEvent and forward-fix experimental prefix support (#32106) 2025-01-22 14:15:48 +00:00
react-devtools-timeline React DevTools 6.1.0 -> 6.1.1 (#32326) 2025-02-07 10:54:44 +00:00
react-dom Add ref to Fragment (#32465) 2025-03-12 10:32:11 -04:00
react-dom-bindings Move traverseFragmentInstanceChildren to internal ReactFiberTreeReflection (#32613) 2025-03-14 17:38:35 -04:00
react-is Add <ViewTransition> Component (#31975) 2025-01-08 12:11:18 -05:00
react-markup [flags] remove enableOwnerStacks (#32426) 2025-03-04 12:34:34 -05:00
react-native-renderer Add ref to Fragment (#32465) 2025-03-12 10:32:11 -04:00
react-noop-renderer Add ref to Fragment (#32465) 2025-03-12 10:32:11 -04:00
react-reconciler Remove Mutation Check Around commit/measureUpdateViewTransition (#32617) 2025-03-14 17:38:53 -04:00
react-refresh feat(eslint-plugin-react-hooks): merge rule from eslint-plugin-react-compiler into react-hooks plugin (#32416) 2025-03-12 21:43:06 -04:00
react-server [Flight] Expose registerServerReference from the client builds (#32534) 2025-03-05 22:16:56 -05:00
react-server-dom-esm [Flight] Expose registerServerReference from the client builds (#32534) 2025-03-05 22:16:56 -05:00
react-server-dom-fb Bump next prerelease version numbers (#31676) 2024-12-12 14:10:46 -05:00
react-server-dom-parcel [Flight] Expose registerServerReference from the client builds (#32534) 2025-03-05 22:16:56 -05:00
react-server-dom-turbopack [Flight] Expose registerServerReference from the client builds (#32534) 2025-03-05 22:16:56 -05:00
react-server-dom-webpack [Flight]: Client-side registerServerReference must not break .bind() (#32565) 2025-03-11 22:15:38 +01:00
react-suspense-test-utils (Land #28798) Move Current Owner (and Cache) to an Async Dispatcher (#28912) 2024-04-25 10:40:40 -07:00
react-test-renderer Add ref to Fragment (#32465) 2025-03-12 10:32:11 -04:00
scheduler Fork Scheduler feature flags for native-fb (#31859) 2024-12-19 11:49:14 -05:00
shared Add ref to Fragment (#32465) 2025-03-12 10:32:11 -04:00
use-subscription [Fiber] Schedule passive effects using the regular ensureRootIsScheduled flow (#31785) 2024-12-17 17:01:31 -05:00
use-sync-external-store use-sync-external-store: Add exports field to package.json (#25231) 2025-02-24 13:01:59 +01:00