Skip to content

Commit 4deb697

Browse files
authored
Update React from 593ecee66 to 2c338b16f. (#58553)
#### Upstream Changes - facebook/react#27692 - facebook/react#27712 - facebook/react#27659
1 parent 1ae13b5 commit 4deb697

File tree

71 files changed

+1888
-1647
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+1888
-1647
lines changed

package.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -193,16 +193,16 @@
193193
"random-seed": "0.3.0",
194194
"react": "18.2.0",
195195
"react-17": "npm:react@17.0.2",
196-
"react-builtin": "npm:react@18.3.0-canary-593ecee66-20231114",
196+
"react-builtin": "npm:react@18.3.0-canary-2c338b16f-20231116",
197197
"react-dom": "18.2.0",
198198
"react-dom-17": "npm:react-dom@17.0.2",
199-
"react-dom-builtin": "npm:react-dom@18.3.0-canary-593ecee66-20231114",
200-
"react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-593ecee66-20231114",
201-
"react-experimental-builtin": "npm:react@0.0.0-experimental-593ecee66-20231114",
202-
"react-server-dom-turbopack": "18.3.0-canary-593ecee66-20231114",
203-
"react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-593ecee66-20231114",
204-
"react-server-dom-webpack": "18.3.0-canary-593ecee66-20231114",
205-
"react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-593ecee66-20231114",
199+
"react-dom-builtin": "npm:react-dom@18.3.0-canary-2c338b16f-20231116",
200+
"react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-2c338b16f-20231116",
201+
"react-experimental-builtin": "npm:react@0.0.0-experimental-2c338b16f-20231116",
202+
"react-server-dom-turbopack": "18.3.0-canary-2c338b16f-20231116",
203+
"react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-2c338b16f-20231116",
204+
"react-server-dom-webpack": "18.3.0-canary-2c338b16f-20231116",
205+
"react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-2c338b16f-20231116",
206206
"react-ssr-prepass": "1.0.8",
207207
"react-virtualized": "9.22.3",
208208
"relay-compiler": "13.0.2",
@@ -212,8 +212,8 @@
212212
"resolve-from": "5.0.0",
213213
"sass": "1.54.0",
214214
"satori": "0.10.6",
215-
"scheduler-builtin": "npm:scheduler@0.24.0-canary-593ecee66-20231114",
216-
"scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-593ecee66-20231114",
215+
"scheduler-builtin": "npm:scheduler@0.24.0-canary-2c338b16f-20231116",
216+
"scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-2c338b16f-20231116",
217217
"seedrandom": "3.0.5",
218218
"selenium-webdriver": "4.0.0-beta.4",
219219
"semver": "7.3.7",

packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ if (process.env.NODE_ENV !== "production") {
1717
var React = require("next/dist/compiled/react-experimental");
1818
var ReactDOM = require('react-dom');
1919

20-
var ReactVersion = '18.3.0-experimental-593ecee66-20231114';
20+
var ReactVersion = '18.3.0-experimental-2c338b16f-20231116';
2121

2222
var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
2323

@@ -6449,6 +6449,9 @@ function emitEarlyPreloads(renderState, resumableState, shellComplete) {
64496449
var headers = renderState.headers;
64506450

64516451
if (headers) {
6452+
// Even if onHeaders throws we don't want to call this again so
6453+
// we drop the headers state from this point onwards.
6454+
renderState.headers = null;
64526455
var linkHeader = headers.preconnects;
64536456

64546457
if (headers.fontPreloads) {
@@ -6519,7 +6522,6 @@ function emitEarlyPreloads(renderState, resumableState, shellComplete) {
65196522
onHeaders({});
65206523
}
65216524

6522-
renderState.headers = null;
65236525
return;
65246526
}
65256527
}
@@ -11075,6 +11077,15 @@ function abortTask(task, request, error) {
1107511077
if (request.allPendingTasks === 0) {
1107611078
completeAll(request);
1107711079
}
11080+
}
11081+
11082+
function safelyEmitEarlyPreloads(request, shellComplete) {
11083+
try {
11084+
emitEarlyPreloads(request.renderState, request.resumableState, shellComplete);
11085+
} catch (error) {
11086+
// We assume preloads are optimistic and thus non-fatal if errored.
11087+
logRecoverableError(request, error);
11088+
}
1107811089
} // I extracted this function out because we want to ensure we consistently emit preloads before
1107911090
// transitioning to the next request stage and this transition can happen in multiple places in this
1108011091
// implementation.
@@ -11088,7 +11099,7 @@ function completeShell(request) {
1108811099
// we should only be calling completeShell when the shell is complete so we
1108911100
// just use a literal here
1109011101
var shellComplete = true;
11091-
emitEarlyPreloads(request.renderState, request.resumableState, shellComplete);
11102+
safelyEmitEarlyPreloads(request, shellComplete);
1109211103
} // We have completed the shell so the shell can't error anymore.
1109311104

1109411105

@@ -11108,7 +11119,7 @@ function completeAll(request) {
1110811119
var shellComplete = request.trackedPostpones === null ? // Render, we assume it is completed
1110911120
true : // Prerender Request, we use the state of the root segment
1111011121
request.completedRootSegment === null || request.completedRootSegment.status !== POSTPONED;
11111-
emitEarlyPreloads(request.renderState, request.resumableState, shellComplete);
11122+
safelyEmitEarlyPreloads(request, shellComplete);
1111211123
var onAllReady = request.onAllReady;
1111311124
onAllReady();
1111411125
}
@@ -11837,7 +11848,7 @@ function startWork(request) {
1183711848

1183811849
function enqueueEarlyPreloadsAfterInitialWork(request) {
1183911850
var shellComplete = request.pendingRootTasks === 0;
11840-
emitEarlyPreloads(request.renderState, request.resumableState, shellComplete);
11851+
safelyEmitEarlyPreloads(request, shellComplete);
1184111852
}
1184211853

1184311854
function enqueueFlush(request) {

packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function formatProdErrorMessage(code) {
2626
return "Minified React error #" + code + "; visit " + url + " for the full message or " + 'use the non-minified dev environment for full errors and additional ' + 'helpful warnings.';
2727
}
2828

29-
var ReactVersion = '18.3.0-experimental-593ecee66-20231114';
29+
var ReactVersion = '18.3.0-experimental-2c338b16f-20231116';
3030

3131
// A pure JS implementation of a string hashing function. We do not use it for
3232
// security or obfuscation purposes, only to create compact hashes. So we
@@ -4774,6 +4774,9 @@ function emitEarlyPreloads(renderState, resumableState, shellComplete) {
47744774
const headers = renderState.headers;
47754775

47764776
if (headers) {
4777+
// Even if onHeaders throws we don't want to call this again so
4778+
// we drop the headers state from this point onwards.
4779+
renderState.headers = null;
47774780
let linkHeader = headers.preconnects;
47784781

47794782
if (headers.fontPreloads) {
@@ -4844,7 +4847,6 @@ function emitEarlyPreloads(renderState, resumableState, shellComplete) {
48444847
onHeaders({});
48454848
}
48464849

4847-
renderState.headers = null;
48484850
return;
48494851
}
48504852
}
@@ -8004,6 +8006,15 @@ function abortTask(task, request, error) {
80048006
if (request.allPendingTasks === 0) {
80058007
completeAll(request);
80068008
}
8009+
}
8010+
8011+
function safelyEmitEarlyPreloads(request, shellComplete) {
8012+
try {
8013+
emitEarlyPreloads(request.renderState, request.resumableState, shellComplete);
8014+
} catch (error) {
8015+
// We assume preloads are optimistic and thus non-fatal if errored.
8016+
logRecoverableError(request, error);
8017+
}
80078018
} // I extracted this function out because we want to ensure we consistently emit preloads before
80088019
// transitioning to the next request stage and this transition can happen in multiple places in this
80098020
// implementation.
@@ -8017,7 +8028,7 @@ function completeShell(request) {
80178028
// we should only be calling completeShell when the shell is complete so we
80188029
// just use a literal here
80198030
const shellComplete = true;
8020-
emitEarlyPreloads(request.renderState, request.resumableState, shellComplete);
8031+
safelyEmitEarlyPreloads(request, shellComplete);
80218032
} // We have completed the shell so the shell can't error anymore.
80228033

80238034

@@ -8037,7 +8048,7 @@ function completeAll(request) {
80378048
const shellComplete = request.trackedPostpones === null ? // Render, we assume it is completed
80388049
true : // Prerender Request, we use the state of the root segment
80398050
request.completedRootSegment === null || request.completedRootSegment.status !== POSTPONED;
8040-
emitEarlyPreloads(request.renderState, request.resumableState, shellComplete);
8051+
safelyEmitEarlyPreloads(request, shellComplete);
80418052
const onAllReady = request.onAllReady;
80428053
onAllReady();
80438054
}
@@ -8725,7 +8736,7 @@ function startWork(request) {
87258736

87268737
function enqueueEarlyPreloadsAfterInitialWork(request) {
87278738
const shellComplete = request.pendingRootTasks === 0;
8728-
emitEarlyPreloads(request.renderState, request.resumableState, shellComplete);
8739+
safelyEmitEarlyPreloads(request, shellComplete);
87298740
}
87308741

87318742
function enqueueFlush(request) {

0 commit comments

Comments
 (0)