Skip to content

Commit ef7a1ae

Browse files
committed
[Fiber] Support only View Transitions v2 (#31996)
Stacked on #31975. We're going to recommend that the primary way you style a View Transition is using a View Transition Class (and/or Type). These are only available in the View Transitions v2 spec. When they're not available it's better to fallback to just not animating instead of animating with the wrong styling rules applied. This is already widely supported in Chrome and Safari 18.2. Safari 18.2 usage is still somewhat low but it's rolling out quickly as we speak. A way to detect this is by just passing the object form to `startViewTransition` which throws if it's an earlier version. The object form is required for `types` but luckily classes rolled out at the same time. Therefore we're only indirectly detecting class support. This means that in practice Safari 18.0 and 18.1 won't animate. We could try to only apply the feature detection if you're actually using classes or types, but that would create an unfortunate ecosystem burden to try to support names. It also leads to flaky effects when only some animations work. Better to just disable them all. Firefox has yet to ship anything. We'll have to look out for how the feature detection happens there and if they roll things out in different order but if you ship late, you deal with web compat as the ball lies. DiffTrain build for [38127b2](38127b2)
1 parent a2c4172 commit ef7a1ae

22 files changed

+85
-85
lines changed

compiled-rn/VERSION_NATIVE_FB

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19.1.0-native-fb-3a5496b3-20250108
1+
19.1.0-native-fb-38127b28-20250108

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-dev.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<b663a0e709dc61af267e3a4ed6370332>>
10+
* @generated SignedSource<<a5907ac6d8c935a838c49cab076677f9>>
1111
*/
1212

1313
"use strict";
@@ -420,5 +420,5 @@ __DEV__ &&
420420
exports.useFormStatus = function () {
421421
return resolveDispatcher().useHostTransitionStatus();
422422
};
423-
exports.version = "19.1.0-native-fb-3a5496b3-20250108";
423+
exports.version = "19.1.0-native-fb-38127b28-20250108";
424424
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-prod.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<584ea7291159b96f95bfa685757cda41>>
10+
* @generated SignedSource<<24ed921d12020cf625ff914fb35495ee>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.1.0-native-fb-3a5496b3-20250108";
206+
exports.version = "19.1.0-native-fb-38127b28-20250108";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-profiling.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<584ea7291159b96f95bfa685757cda41>>
10+
* @generated SignedSource<<24ed921d12020cf625ff914fb35495ee>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.1.0-native-fb-3a5496b3-20250108";
206+
exports.version = "19.1.0-native-fb-38127b28-20250108";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-dev.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<86d910062cde1f7669cb85e62acd4dcd>>
10+
* @generated SignedSource<<1774e836c2a7b70ca4262db777405dbf>>
1111
*/
1212

1313
/*
@@ -25918,11 +25918,11 @@ __DEV__ &&
2591825918
};
2591925919
(function () {
2592025920
var isomorphicReactPackageVersion = React.version;
25921-
if ("19.1.0-native-fb-3a5496b3-20250108" !== isomorphicReactPackageVersion)
25921+
if ("19.1.0-native-fb-38127b28-20250108" !== isomorphicReactPackageVersion)
2592225922
throw Error(
2592325923
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2592425924
(isomorphicReactPackageVersion +
25925-
"\n - react-dom: 19.1.0-native-fb-3a5496b3-20250108\nLearn more: https://react.dev/warnings/version-mismatch")
25925+
"\n - react-dom: 19.1.0-native-fb-38127b28-20250108\nLearn more: https://react.dev/warnings/version-mismatch")
2592625926
);
2592725927
})();
2592825928
("function" === typeof Map &&
@@ -25959,10 +25959,10 @@ __DEV__ &&
2595925959
!(function () {
2596025960
var internals = {
2596125961
bundleType: 1,
25962-
version: "19.1.0-native-fb-3a5496b3-20250108",
25962+
version: "19.1.0-native-fb-38127b28-20250108",
2596325963
rendererPackageName: "react-dom",
2596425964
currentDispatcherRef: ReactSharedInternals,
25965-
reconcilerVersion: "19.1.0-native-fb-3a5496b3-20250108"
25965+
reconcilerVersion: "19.1.0-native-fb-38127b28-20250108"
2596625966
};
2596725967
internals.overrideHookState = overrideHookState;
2596825968
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -26108,5 +26108,5 @@ __DEV__ &&
2610826108
listenToAllSupportedEvents(container);
2610926109
return new ReactDOMHydrationRoot(initialChildren);
2611026110
};
26111-
exports.version = "19.1.0-native-fb-3a5496b3-20250108";
26111+
exports.version = "19.1.0-native-fb-38127b28-20250108";
2611226112
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-prod.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<272f04cb7d07853225293973ac057657>>
10+
* @generated SignedSource<<0d9c07a289ec2ff1fb4891e7547371e2>>
1111
*/
1212

1313
/*
@@ -15944,14 +15944,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1594415944
};
1594515945
var isomorphicReactPackageVersion$jscomp$inline_1771 = React.version;
1594615946
if (
15947-
"19.1.0-native-fb-3a5496b3-20250108" !==
15947+
"19.1.0-native-fb-38127b28-20250108" !==
1594815948
isomorphicReactPackageVersion$jscomp$inline_1771
1594915949
)
1595015950
throw Error(
1595115951
formatProdErrorMessage(
1595215952
527,
1595315953
isomorphicReactPackageVersion$jscomp$inline_1771,
15954-
"19.1.0-native-fb-3a5496b3-20250108"
15954+
"19.1.0-native-fb-38127b28-20250108"
1595515955
)
1595615956
);
1595715957
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -15973,10 +15973,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1597315973
};
1597415974
var internals$jscomp$inline_2219 = {
1597515975
bundleType: 0,
15976-
version: "19.1.0-native-fb-3a5496b3-20250108",
15976+
version: "19.1.0-native-fb-38127b28-20250108",
1597715977
rendererPackageName: "react-dom",
1597815978
currentDispatcherRef: ReactSharedInternals,
15979-
reconcilerVersion: "19.1.0-native-fb-3a5496b3-20250108"
15979+
reconcilerVersion: "19.1.0-native-fb-38127b28-20250108"
1598015980
};
1598115981
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1598215982
var hook$jscomp$inline_2220 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -16082,4 +16082,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1608216082
listenToAllSupportedEvents(container);
1608316083
return new ReactDOMHydrationRoot(initialChildren);
1608416084
};
16085-
exports.version = "19.1.0-native-fb-3a5496b3-20250108";
16085+
exports.version = "19.1.0-native-fb-38127b28-20250108";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-profiling.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<c79892102a3b0bfb5f5c1c64099a812b>>
10+
* @generated SignedSource<<947cce3cdb7ca8e14164c121b0b56b9a>>
1111
*/
1212

1313
/*
@@ -16591,14 +16591,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1659116591
};
1659216592
var isomorphicReactPackageVersion$jscomp$inline_1866 = React.version;
1659316593
if (
16594-
"19.1.0-native-fb-3a5496b3-20250108" !==
16594+
"19.1.0-native-fb-38127b28-20250108" !==
1659516595
isomorphicReactPackageVersion$jscomp$inline_1866
1659616596
)
1659716597
throw Error(
1659816598
formatProdErrorMessage(
1659916599
527,
1660016600
isomorphicReactPackageVersion$jscomp$inline_1866,
16601-
"19.1.0-native-fb-3a5496b3-20250108"
16601+
"19.1.0-native-fb-38127b28-20250108"
1660216602
)
1660316603
);
1660416604
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16620,10 +16620,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1662016620
};
1662116621
var internals$jscomp$inline_1873 = {
1662216622
bundleType: 0,
16623-
version: "19.1.0-native-fb-3a5496b3-20250108",
16623+
version: "19.1.0-native-fb-38127b28-20250108",
1662416624
rendererPackageName: "react-dom",
1662516625
currentDispatcherRef: ReactSharedInternals,
16626-
reconcilerVersion: "19.1.0-native-fb-3a5496b3-20250108",
16626+
reconcilerVersion: "19.1.0-native-fb-38127b28-20250108",
1662716627
getLaneLabelMap: function () {
1662816628
for (
1662916629
var map = new Map(), lane = 1, index$293 = 0;
@@ -16744,4 +16744,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1674416744
listenToAllSupportedEvents(container);
1674516745
return new ReactDOMHydrationRoot(initialChildren);
1674616746
};
16747-
exports.version = "19.1.0-native-fb-3a5496b3-20250108";
16747+
exports.version = "19.1.0-native-fb-38127b28-20250108";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-dev.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<3cdc965dca30290ccf0eb7193b8197e6>>
10+
* @generated SignedSource<<079dbae19bc30169d8e4ecf8c571d8cd>>
1111
*/
1212

1313
/*
@@ -25979,11 +25979,11 @@ __DEV__ &&
2597925979
};
2598025980
(function () {
2598125981
var isomorphicReactPackageVersion = React.version;
25982-
if ("19.1.0-native-fb-3a5496b3-20250108" !== isomorphicReactPackageVersion)
25982+
if ("19.1.0-native-fb-38127b28-20250108" !== isomorphicReactPackageVersion)
2598325983
throw Error(
2598425984
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2598525985
(isomorphicReactPackageVersion +
25986-
"\n - react-dom: 19.1.0-native-fb-3a5496b3-20250108\nLearn more: https://react.dev/warnings/version-mismatch")
25986+
"\n - react-dom: 19.1.0-native-fb-38127b28-20250108\nLearn more: https://react.dev/warnings/version-mismatch")
2598725987
);
2598825988
})();
2598925989
("function" === typeof Map &&
@@ -26020,10 +26020,10 @@ __DEV__ &&
2602026020
!(function () {
2602126021
var internals = {
2602226022
bundleType: 1,
26023-
version: "19.1.0-native-fb-3a5496b3-20250108",
26023+
version: "19.1.0-native-fb-38127b28-20250108",
2602426024
rendererPackageName: "react-dom",
2602526025
currentDispatcherRef: ReactSharedInternals,
26026-
reconcilerVersion: "19.1.0-native-fb-3a5496b3-20250108"
26026+
reconcilerVersion: "19.1.0-native-fb-38127b28-20250108"
2602726027
};
2602826028
internals.overrideHookState = overrideHookState;
2602926029
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -26485,7 +26485,7 @@ __DEV__ &&
2648526485
exports.useFormStatus = function () {
2648626486
return resolveDispatcher().useHostTransitionStatus();
2648726487
};
26488-
exports.version = "19.1.0-native-fb-3a5496b3-20250108";
26488+
exports.version = "19.1.0-native-fb-38127b28-20250108";
2648926489
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
2649026490
"function" ===
2649126491
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-prod.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<07cdb940a6eaed2ab8c77360157de423>>
10+
* @generated SignedSource<<fe7d64373c07d195c02fdb9ca3c97945>>
1111
*/
1212

1313
/*
@@ -15955,14 +15955,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1595515955
};
1595615956
var isomorphicReactPackageVersion$jscomp$inline_1772 = React.version;
1595715957
if (
15958-
"19.1.0-native-fb-3a5496b3-20250108" !==
15958+
"19.1.0-native-fb-38127b28-20250108" !==
1595915959
isomorphicReactPackageVersion$jscomp$inline_1772
1596015960
)
1596115961
throw Error(
1596215962
formatProdErrorMessage(
1596315963
527,
1596415964
isomorphicReactPackageVersion$jscomp$inline_1772,
15965-
"19.1.0-native-fb-3a5496b3-20250108"
15965+
"19.1.0-native-fb-38127b28-20250108"
1596615966
)
1596715967
);
1596815968
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -15984,10 +15984,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1598415984
};
1598515985
var internals$jscomp$inline_2222 = {
1598615986
bundleType: 0,
15987-
version: "19.1.0-native-fb-3a5496b3-20250108",
15987+
version: "19.1.0-native-fb-38127b28-20250108",
1598815988
rendererPackageName: "react-dom",
1598915989
currentDispatcherRef: ReactSharedInternals,
15990-
reconcilerVersion: "19.1.0-native-fb-3a5496b3-20250108"
15990+
reconcilerVersion: "19.1.0-native-fb-38127b28-20250108"
1599115991
};
1599215992
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1599315993
var hook$jscomp$inline_2223 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -16247,4 +16247,4 @@ exports.useFormState = function (action, initialState, permalink) {
1624716247
exports.useFormStatus = function () {
1624816248
return ReactSharedInternals.H.useHostTransitionStatus();
1624916249
};
16250-
exports.version = "19.1.0-native-fb-3a5496b3-20250108";
16250+
exports.version = "19.1.0-native-fb-38127b28-20250108";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-profiling.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<a73292522056f0357f1c4c529130a185>>
10+
* @generated SignedSource<<26630afdd83745cb8fe3afb31e47d4cf>>
1111
*/
1212

1313
/*
@@ -16606,14 +16606,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1660616606
};
1660716607
var isomorphicReactPackageVersion$jscomp$inline_1867 = React.version;
1660816608
if (
16609-
"19.1.0-native-fb-3a5496b3-20250108" !==
16609+
"19.1.0-native-fb-38127b28-20250108" !==
1661016610
isomorphicReactPackageVersion$jscomp$inline_1867
1661116611
)
1661216612
throw Error(
1661316613
formatProdErrorMessage(
1661416614
527,
1661516615
isomorphicReactPackageVersion$jscomp$inline_1867,
16616-
"19.1.0-native-fb-3a5496b3-20250108"
16616+
"19.1.0-native-fb-38127b28-20250108"
1661716617
)
1661816618
);
1661916619
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16635,10 +16635,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1663516635
};
1663616636
var internals$jscomp$inline_1874 = {
1663716637
bundleType: 0,
16638-
version: "19.1.0-native-fb-3a5496b3-20250108",
16638+
version: "19.1.0-native-fb-38127b28-20250108",
1663916639
rendererPackageName: "react-dom",
1664016640
currentDispatcherRef: ReactSharedInternals,
16641-
reconcilerVersion: "19.1.0-native-fb-3a5496b3-20250108",
16641+
reconcilerVersion: "19.1.0-native-fb-38127b28-20250108",
1664216642
getLaneLabelMap: function () {
1664316643
for (
1664416644
var map = new Map(), lane = 1, index$293 = 0;
@@ -16913,7 +16913,7 @@ exports.useFormState = function (action, initialState, permalink) {
1691316913
exports.useFormStatus = function () {
1691416914
return ReactSharedInternals.H.useHostTransitionStatus();
1691516915
};
16916-
exports.version = "19.1.0-native-fb-3a5496b3-20250108";
16916+
exports.version = "19.1.0-native-fb-38127b28-20250108";
1691716917
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1691816918
"function" ===
1691916919
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)