Skip to content

Commit 9e50f2a

Browse files
committed
Add a feature flag to enable expiration of retry lanes (#27694)
An attempt to see if we can bring back expiration of retry lanes to avoid cases resolving Suspense can be starved by frequent updates. In the past, this caused increase browser crashes, but a lot of time has passed since then. Just trying if we can re-enable this. Old PR that reverted adding the timeout: #21300 DiffTrain build for [593ecee](593ecee)
1 parent ea781fb commit 9e50f2a

20 files changed

+62
-48
lines changed

compiled/facebook-www/REVISION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
432b9f1d9729aaea010730d546bda89b9842eaa1
1+
593ecee66a609d4a4c2b36b39b1e5e23b2456dd1

compiled/facebook-www/React-dev.classic.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ if (__DEV__) {
2424
) {
2525
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
2626
}
27-
var ReactVersion = "18.3.0-www-classic-ff1f37f1";
27+
var ReactVersion = "18.3.0-www-classic-32c0f8a4";
2828

2929
// ATTENTION
3030
// When adding new symbols to this file,

compiled/facebook-www/React-prod.modern.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,4 +579,4 @@ exports.useSyncExternalStore = function (
579579
exports.useTransition = function () {
580580
return ReactCurrentDispatcher.current.useTransition();
581581
};
582-
exports.version = "18.3.0-www-modern-7fb93a7a";
582+
exports.version = "18.3.0-www-modern-226f03d3";

compiled/facebook-www/React-profiling.modern.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ exports.useSyncExternalStore = function (
583583
exports.useTransition = function () {
584584
return ReactCurrentDispatcher.current.useTransition();
585585
};
586-
exports.version = "18.3.0-www-modern-c340a59e";
586+
exports.version = "18.3.0-www-modern-b10cb56c";
587587
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
588588
"function" ===
589589
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/ReactART-dev.classic.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ if (__DEV__) {
6666
return self;
6767
}
6868

69-
var ReactVersion = "18.3.0-www-classic-845b4481";
69+
var ReactVersion = "18.3.0-www-classic-324338d3";
7070

7171
var LegacyRoot = 0;
7272
var ConcurrentRoot = 1;
@@ -170,6 +170,7 @@ if (__DEV__) {
170170
enableLazyContextPropagation =
171171
dynamicFeatureFlags.enableLazyContextPropagation,
172172
enableUnifiedSyncLane = dynamicFeatureFlags.enableUnifiedSyncLane,
173+
enableRetryLaneExpiration = dynamicFeatureFlags.enableRetryLaneExpiration,
173174
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
174175
enableDeferRootSchedulingToMicrotask =
175176
dynamicFeatureFlags.enableDeferRootSchedulingToMicrotask,
@@ -2004,7 +2005,7 @@ if (__DEV__) {
20042005
// crashes. There must be some other underlying bug; not super urgent but
20052006
// ideally should figure out why and fix it. Unfortunately we don't have
20062007
// a repro for the crashes, only detected via production metrics.
2007-
return NoTimestamp;
2008+
return enableRetryLaneExpiration ? currentTime + 5000 : NoTimestamp;
20082009

20092010
case SelectiveHydrationLane:
20102011
case IdleHydrationLane:

compiled/facebook-www/ReactART-dev.modern.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ if (__DEV__) {
6666
return self;
6767
}
6868

69-
var ReactVersion = "18.3.0-www-modern-b4d8ae24";
69+
var ReactVersion = "18.3.0-www-modern-7ac3e370";
7070

7171
var LegacyRoot = 0;
7272
var ConcurrentRoot = 1;
@@ -170,6 +170,7 @@ if (__DEV__) {
170170
enableLazyContextPropagation =
171171
dynamicFeatureFlags.enableLazyContextPropagation,
172172
enableUnifiedSyncLane = dynamicFeatureFlags.enableUnifiedSyncLane,
173+
enableRetryLaneExpiration = dynamicFeatureFlags.enableRetryLaneExpiration,
173174
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
174175
enableDeferRootSchedulingToMicrotask =
175176
dynamicFeatureFlags.enableDeferRootSchedulingToMicrotask,
@@ -2001,7 +2002,7 @@ if (__DEV__) {
20012002
// crashes. There must be some other underlying bug; not super urgent but
20022003
// ideally should figure out why and fix it. Unfortunately we don't have
20032004
// a repro for the crashes, only detected via production metrics.
2004-
return NoTimestamp;
2005+
return enableRetryLaneExpiration ? currentTime + 5000 : NoTimestamp;
20052006

20062007
case SelectiveHydrationLane:
20072008
case IdleHydrationLane:

compiled/facebook-www/ReactART-prod.classic.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ var ReactSharedInternals =
6868
enableLazyContextPropagation =
6969
dynamicFeatureFlags.enableLazyContextPropagation,
7070
enableUnifiedSyncLane = dynamicFeatureFlags.enableUnifiedSyncLane,
71+
enableRetryLaneExpiration = dynamicFeatureFlags.enableRetryLaneExpiration,
7172
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
7273
enableDeferRootSchedulingToMicrotask =
7374
dynamicFeatureFlags.enableDeferRootSchedulingToMicrotask,
@@ -505,7 +506,7 @@ function computeExpirationTime(lane, currentTime) {
505506
case 8388608:
506507
case 16777216:
507508
case 33554432:
508-
return -1;
509+
return enableRetryLaneExpiration ? currentTime + 5e3 : -1;
509510
case 67108864:
510511
case 134217728:
511512
case 268435456:
@@ -10235,7 +10236,7 @@ var slice = Array.prototype.slice,
1023510236
return null;
1023610237
},
1023710238
bundleType: 0,
10238-
version: "18.3.0-www-classic-f80f5bf8",
10239+
version: "18.3.0-www-classic-61fbad1d",
1023910240
rendererPackageName: "react-art"
1024010241
};
1024110242
var internals$jscomp$inline_1322 = {
@@ -10266,7 +10267,7 @@ var internals$jscomp$inline_1322 = {
1026610267
scheduleRoot: null,
1026710268
setRefreshHandler: null,
1026810269
getCurrentFiber: null,
10269-
reconcilerVersion: "18.3.0-www-classic-f80f5bf8"
10270+
reconcilerVersion: "18.3.0-www-classic-61fbad1d"
1027010271
};
1027110272
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1027210273
var hook$jscomp$inline_1323 = __REACT_DEVTOOLS_GLOBAL_HOOK__;

compiled/facebook-www/ReactART-prod.modern.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ var ReactSharedInternals =
6868
enableLazyContextPropagation =
6969
dynamicFeatureFlags.enableLazyContextPropagation,
7070
enableUnifiedSyncLane = dynamicFeatureFlags.enableUnifiedSyncLane,
71+
enableRetryLaneExpiration = dynamicFeatureFlags.enableRetryLaneExpiration,
7172
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
7273
enableDeferRootSchedulingToMicrotask =
7374
dynamicFeatureFlags.enableDeferRootSchedulingToMicrotask,
@@ -393,7 +394,7 @@ function computeExpirationTime(lane, currentTime) {
393394
case 8388608:
394395
case 16777216:
395396
case 33554432:
396-
return -1;
397+
return enableRetryLaneExpiration ? currentTime + 5e3 : -1;
397398
case 67108864:
398399
case 134217728:
399400
case 268435456:
@@ -9904,7 +9905,7 @@ var slice = Array.prototype.slice,
99049905
return null;
99059906
},
99069907
bundleType: 0,
9907-
version: "18.3.0-www-modern-d15e6948",
9908+
version: "18.3.0-www-modern-fc53dc79",
99089909
rendererPackageName: "react-art"
99099910
};
99109911
var internals$jscomp$inline_1302 = {
@@ -9935,7 +9936,7 @@ var internals$jscomp$inline_1302 = {
99359936
scheduleRoot: null,
99369937
setRefreshHandler: null,
99379938
getCurrentFiber: null,
9938-
reconcilerVersion: "18.3.0-www-modern-d15e6948"
9939+
reconcilerVersion: "18.3.0-www-modern-fc53dc79"
99399940
};
99409941
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
99419942
var hook$jscomp$inline_1303 = __REACT_DEVTOOLS_GLOBAL_HOOK__;

compiled/facebook-www/ReactDOM-dev.classic.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ if (__DEV__) {
135135
enableLazyContextPropagation =
136136
dynamicFeatureFlags.enableLazyContextPropagation,
137137
enableUnifiedSyncLane = dynamicFeatureFlags.enableUnifiedSyncLane,
138+
enableRetryLaneExpiration = dynamicFeatureFlags.enableRetryLaneExpiration,
138139
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
139140
enableCustomElementPropertySupport =
140141
dynamicFeatureFlags.enableCustomElementPropertySupport,
@@ -2174,7 +2175,7 @@ if (__DEV__) {
21742175
// crashes. There must be some other underlying bug; not super urgent but
21752176
// ideally should figure out why and fix it. Unfortunately we don't have
21762177
// a repro for the crashes, only detected via production metrics.
2177-
return NoTimestamp;
2178+
return enableRetryLaneExpiration ? currentTime + 5000 : NoTimestamp;
21782179

21792180
case SelectiveHydrationLane:
21802181
case IdleHydrationLane:
@@ -34884,7 +34885,7 @@ if (__DEV__) {
3488434885
return root;
3488534886
}
3488634887

34887-
var ReactVersion = "18.3.0-www-classic-d456dfab";
34888+
var ReactVersion = "18.3.0-www-classic-b7cd3754";
3488834889

3488934890
function createPortal$1(
3489034891
children,

compiled/facebook-www/ReactDOM-dev.modern.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ if (__DEV__) {
121121
enableLazyContextPropagation =
122122
dynamicFeatureFlags.enableLazyContextPropagation,
123123
enableUnifiedSyncLane = dynamicFeatureFlags.enableUnifiedSyncLane,
124+
enableRetryLaneExpiration = dynamicFeatureFlags.enableRetryLaneExpiration,
124125
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
125126
enableCustomElementPropertySupport =
126127
dynamicFeatureFlags.enableCustomElementPropertySupport,
@@ -1529,7 +1530,7 @@ if (__DEV__) {
15291530
// crashes. There must be some other underlying bug; not super urgent but
15301531
// ideally should figure out why and fix it. Unfortunately we don't have
15311532
// a repro for the crashes, only detected via production metrics.
1532-
return NoTimestamp;
1533+
return enableRetryLaneExpiration ? currentTime + 5000 : NoTimestamp;
15331534

15341535
case SelectiveHydrationLane:
15351536
case IdleHydrationLane:
@@ -34705,7 +34706,7 @@ if (__DEV__) {
3470534706
return root;
3470634707
}
3470734708

34708-
var ReactVersion = "18.3.0-www-modern-81cc9bc4";
34709+
var ReactVersion = "18.3.0-www-modern-04110a6d";
3470934710

3471034711
function createPortal$1(
3471134712
children,

0 commit comments

Comments
 (0)