@samitouri / QOS-React-2 / commits / 026abeaa5f

[Flight] Respect displayName of Promise instances on the server (#34825)

This lets you assign a name to a Promise that's passed into first party code from third party since it otherwise would have no other stack frame to indicate its name since the whole creation stack would be in third party. We already respect the `displayName` on the client but it's more complicated on the server because we don't only consider the exact instance passed to `use()` but the whole await sequence and we can pick any Promise along the way for consideration. Therefore this also adds a change where we pick the Promise node for consideration if it has a name but no stack. Where we otherwise would've picked the I/O node. Another thing that this PR does is treat anonymous stack frames (empty url) as third party for purposes of heuristics like "hasUnfilteredFrame" and the name assignment. This lets you include these in the actual generated stacks (by overriding `filterStackFrame`) but we don't actually want them to be considered first party code in the heuristics since it ends up favoring those stacks and using internals like `Function.all` in name assignment.

Sebastian Markbåge committed Oct 13, 2025 at 12:29 UTC 026abeaa5f3fdb5f5fdef7ebd699e3ed8e64a506
2 files changed +415 -248
packages/react-server/src/ReactFlightServer.js
+56 -17
@@ -252,7 +252,11 @@ function findCalledFunctionNameFromStackTrace(
252 const url = devirtualizeURL(callsite[1]);
253 const lineNumber = callsite[2];
254 const columnNumber = callsite[3];
255 - if (filterStackFrame(url, functionName, lineNumber, columnNumber)) {
255 + if (
256 + filterStackFrame(url, functionName, lineNumber, columnNumber) &&
257 + // Don't consider anonymous code first party even if the filter wants to include them in the stack.
258 + url !== ''
259 + ) {
260 if (bestMatch === '') {
261 // If we had no good stack frames for internal calls, just use the last
262 // first party function name.
@@ -308,7 +312,10 @@ function hasUnfilteredFrame(request: Request, stack: ReactStackTrace): boolean {
312 const isAsync = callsite[6];
313 if (
314 !isAsync &&
311 - filterStackFrame(url, functionName, lineNumber, columnNumber)
315 + filterStackFrame(url, functionName, lineNumber, columnNumber) &&
316 + // Ignore anonymous stack frames like internals. They are also not in first party
317 + // code even though it might be useful to include them in the final stack.
318 + url !== ''
319 ) {
320 return true;
321 }
@@ -367,7 +374,10 @@ export function isAwaitInUserspace(
374 const url = devirtualizeURL(callsite[1]);
375 const lineNumber = callsite[2];
376 const columnNumber = callsite[3];
370 - return filterStackFrame(url, functionName, lineNumber, columnNumber);
377 + return (
378 + filterStackFrame(url, functionName, lineNumber, columnNumber) &&
379 + url !== ''
380 + );
381 }
382 return false;
383 }
@@ -2347,6 +2357,7 @@ function visitAsyncNode(
2357 }
2358 const awaited = node.awaited;
2359 let match: void | null | PromiseNode | IONode = previousIONode;
2360 + const promise = node.promise.deref();
2361 if (awaited !== null) {
2362 const ioNode = visitAsyncNode(request, task, awaited, visited, cutOff);
2363 if (ioNode === undefined) {
@@ -2361,17 +2372,27 @@ function visitAsyncNode(
2372 if (ioNode.tag === PROMISE_NODE) {
2373 // If the ioNode was a Promise, then that means we found one in user space since otherwise
2374 // we would've returned an IO node. We assume this has the best stack.
2375 + // Note: This might also be a Promise with a displayName but potentially a worse stack.
2376 + // We could potentially favor the outer Promise if it has a stack but not the inner.
2377 match = ioNode;
2378 } else if (
2366 - node.stack === null ||
2367 - !hasUnfilteredFrame(request, node.stack)
2379 + (node.stack !== null && hasUnfilteredFrame(request, node.stack)) ||
2380 + (promise !== undefined &&
2381 + // $FlowFixMe[prop-missing]
2382 + typeof promise.displayName === 'string' &&
2383 + (ioNode.stack === null ||
2384 + !hasUnfilteredFrame(request, ioNode.stack)))
2385 ) {
2386 + // If this Promise has a stack trace then we favor that over the I/O node since we're
2387 + // mainly dealing with Promises as the abstraction.
2388 + // If it has no stack but at least has a displayName and the io doesn't have a better
2389 + // stack anyway, then also use this Promise instead since at least it has a name.
2390 + match = node;
2391 + } else {
2392 // If this Promise was created inside only third party code, then try to use
2393 // the inner I/O node instead. This could happen if third party calls into first
2394 // party to perform some I/O.
2395 match = ioNode;
2373 - } else {
2374 - match = node;
2396 }
2397 } else if (request.status === ABORTING) {
2398 if (node.start < request.abortTime && node.end > request.abortTime) {
@@ -2379,8 +2400,11 @@ function visitAsyncNode(
2400 // Promise that was aborted. This won't necessarily have I/O associated with it but
2401 // it's a point of interest.
2402 if (
2382 - node.stack !== null &&
2383 - hasUnfilteredFrame(request, node.stack)
2403 + (node.stack !== null &&
2404 + hasUnfilteredFrame(request, node.stack)) ||
2405 + (promise !== undefined &&
2406 + // $FlowFixMe[prop-missing]
2407 + typeof promise.displayName === 'string')
2408 ) {
2409 match = node;
2410 }
@@ -2389,7 +2413,6 @@ function visitAsyncNode(
2413 }
2414 // We need to forward after we visit awaited nodes because what ever I/O we requested that's
2415 // the thing that generated this node and its virtual children.
2392 - const promise = node.promise.deref();
2416 if (promise !== undefined) {
2417 const debugInfo = promise._debugInfo;
2418 if (debugInfo != null && !visited.has(debugInfo)) {
@@ -4497,17 +4520,33 @@ function serializeIONode(
4520
4521 let stack = null;
4522 let name = '';
4523 + if (ioNode.promise !== null) {
4524 + // Pick an explicit name from the Promise itself if it exists.
4525 + // Note that we don't use the promiseRef passed in since that's sometimes the awaiting Promise
4526 + // which is the value observed but it's likely not the one with the name on it.
4527 + const promise = ioNode.promise.deref();
4528 + if (
4529 + promise !== undefined &&
4530 + // $FlowFixMe[prop-missing]
4531 + typeof promise.displayName === 'string'
4532 + ) {
4533 + name = promise.displayName;
4534 + }
4535 + }
4536 if (ioNode.stack !== null) {
4537 // The stack can contain some leading internal frames for the construction of the promise that we skip.
4538 const fullStack = stripLeadingPromiseCreationFrames(ioNode.stack);
4539 stack = filterStackTrace(request, fullStack);
4504 - name = findCalledFunctionNameFromStackTrace(request, fullStack);
4505 - // The name can include the object that this was called on but sometimes that's
4506 - // just unnecessary context.
4507 - if (name.startsWith('Window.')) {
4508 - name = name.slice(7);
4509 - } else if (name.startsWith('<anonymous>.')) {
4510 - name = name.slice(7);
4540 + if (name === '') {
4541 + // If we didn't have an explicit name, try finding one from the stack.
4542 + name = findCalledFunctionNameFromStackTrace(request, fullStack);
4543 + // The name can include the object that this was called on but sometimes that's
4544 + // just unnecessary context.
4545 + if (name.startsWith('Window.')) {
4546 + name = name.slice(7);
4547 + } else if (name.startsWith('<anonymous>.')) {
4548 + name = name.slice(7);
4549 + }
4550 }
4551 }
4552 const owner = ioNode.owner;
packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js
+359 -231
@@ -109,6 +109,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
109 async function getData(text) {
110 await delay(1);
111 const promise = delay(2);
112 + promise.displayName = 'hello';
113 await Promise.all([promise]);
114 return text.toUpperCase();
115 }
@@ -159,7 +160,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
160 [
161 "Object.<anonymous>",
162 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
162 - 128,
163 + 129,
164 109,
165 108,
166 50,
@@ -183,7 +184,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
184 [
185 "Object.<anonymous>",
186 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
186 - 128,
187 + 129,
188 109,
189 108,
190 50,
@@ -210,9 +211,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
211 [
212 "Component",
213 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
213 - 117,
214 + 118,
215 26,
215 - 116,
216 + 117,
217 5,
218 ],
219 ],
@@ -231,7 +232,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
232 [
233 "Object.<anonymous>",
234 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
234 - 128,
235 + 129,
236 109,
237 108,
238 50,
@@ -250,9 +251,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
251 [
252 "Component",
253 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
253 - 117,
254 + 118,
255 26,
255 - 116,
256 + 117,
257 5,
258 ],
259 ],
@@ -267,7 +268,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
268 "awaited": {
269 "end": 0,
270 "env": "Server",
270 - "name": "delay",
271 + "name": "hello",
272 "owner": {
273 "env": "Server",
274 "key": null,
@@ -277,7 +278,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
278 [
279 "Object.<anonymous>",
280 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
280 - 128,
281 + 129,
282 109,
283 108,
284 50,
@@ -304,9 +305,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
305 [
306 "Component",
307 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
307 - 117,
308 + 118,
309 20,
309 - 116,
310 + 117,
311 5,
312 ],
313 ],
@@ -325,7 +326,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
326 [
327 "Object.<anonymous>",
328 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
328 - 128,
329 + 129,
330 109,
331 108,
332 50,
@@ -336,7 +337,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
337 [
338 "getData",
339 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
339 - 112,
340 + 113,
341 21,
342 109,
343 5,
@@ -344,9 +345,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
345 [
346 "Component",
347 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
347 - 117,
348 + 118,
349 20,
349 - 116,
350 + 117,
351 5,
352 ],
353 ],
@@ -366,9 +367,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
367 [
368 "Component",
369 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
369 - 119,
370 + 120,
371 60,
371 - 116,
372 + 117,
373 5,
374 ],
375 ],
@@ -380,7 +381,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
381 "awaited": {
382 "end": 0,
383 "env": "Server",
383 - "name": "delay",
384 + "name": "hello",
385 "owner": {
386 "env": "Server",
387 "key": null,
@@ -390,7 +391,7 @@ describe('ReactFlightAsyncDebugInfo', () => {
391 [
392 "Object.<anonymous>",
393 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
393 - 128,
394 + 129,
395 109,
396 108,
397 50,
@@ -430,9 +431,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
431 [
432 "Component",
433 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
433 - 119,
434 + 120,
435 60,
435 - 116,
436 + 117,
437 5,
438 ],
439 ],
@@ -441,9 +442,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
442 [
443 "InnerComponent",
444 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
444 - 125,
445 + 126,
446 35,
446 - 122,
447 + 123,
448 5,
449 ],
450 ],
@@ -624,9 +625,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
625 [
626 "Object.<anonymous>",
627 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
627 - 588,
628 + 589,
629 40,
629 - 569,
630 + 570,
631 49,
632 ],
633 [
@@ -656,9 +657,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
657 [
658 "Object.<anonymous>",
659 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
659 - 588,
660 + 589,
661 40,
661 - 569,
662 + 570,
663 49,
664 ],
665 [
@@ -683,17 +684,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
684 [
685 "getData",
686 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
686 - 571,
687 + 572,
688 13,
688 - 570,
689 + 571,
690 5,
691 ],
692 [
693 "Component",
694 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
694 - 576,
695 + 577,
696 36,
696 - 575,
697 + 576,
698 5,
699 ],
700 ],
@@ -712,9 +713,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
713 [
714 "Object.<anonymous>",
715 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
715 - 588,
716 + 589,
717 40,
717 - 569,
718 + 570,
719 49,
720 ],
721 [
@@ -731,17 +732,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
732 [
733 "getData",
734 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
734 - 571,
735 + 572,
736 13,
736 - 570,
737 + 571,
738 5,
739 ],
740 [
741 "Component",
742 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
742 - 576,
743 + 577,
744 36,
744 - 575,
745 + 576,
746 5,
747 ],
748 ],
@@ -761,9 +762,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
762 [
763 "Component",
764 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
764 - 578,
765 + 579,
766 60,
766 - 575,
767 + 576,
768 5,
769 ],
770 ],
@@ -782,9 +783,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
783 [
784 "Object.<anonymous>",
785 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
785 - 588,
786 + 589,
787 40,
787 - 569,
788 + 570,
789 49,
790 ],
791 [
@@ -809,17 +810,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
810 [
811 "getData",
812 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
812 - 571,
813 + 572,
814 13,
814 - 570,
815 + 571,
816 5,
817 ],
818 [
819 "Component",
820 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
820 - 577,
821 + 578,
822 22,
822 - 575,
823 + 576,
824 5,
825 ],
826 ],
@@ -838,9 +839,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
839 [
840 "Component",
841 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
841 - 578,
842 + 579,
843 60,
843 - 575,
844 + 576,
845 5,
846 ],
847 ],
@@ -849,9 +850,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
850 [
851 "InnerComponent",
852 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
852 - 584,
853 + 585,
854 40,
854 - 581,
855 + 582,
856 5,
857 ],
858 ],
@@ -926,9 +927,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
927 [
928 "Object.<anonymous>",
929 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
929 - 895,
930 + 896,
931 109,
931 - 882,
932 + 883,
933 80,
934 ],
935 ],
@@ -947,9 +948,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
948 [
949 "Object.<anonymous>",
950 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
950 - 895,
951 + 896,
952 109,
952 - 882,
953 + 883,
954 80,
955 ],
956 ],
@@ -966,9 +967,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
967 [
968 "Object.<anonymous>",
969 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
969 - 895,
970 + 896,
971 109,
971 - 882,
972 + 883,
973 80,
974 ],
975 ],
@@ -1040,9 +1041,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1041 [
1042 "Object.<anonymous>",
1043 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1043 - 1009,
1044 + 1010,
1045 109,
1045 - 1000,
1046 + 1001,
1047 94,
1048 ],
1049 ],
@@ -1125,9 +1126,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1126 [
1127 "Object.<anonymous>",
1128 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1128 - 1094,
1129 + 1095,
1130 109,
1130 - 1070,
1131 + 1071,
1132 50,
1133 ],
1134 ],
@@ -1221,9 +1222,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1222 [
1223 "Object.<anonymous>",
1224 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1224 - 1190,
1225 + 1191,
1226 109,
1226 - 1173,
1227 + 1174,
1228 63,
1229 ],
1230 ],
@@ -1248,9 +1249,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1249 [
1250 "Component",
1251 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1251 - 1186,
1252 + 1187,
1253 24,
1253 - 1185,
1254 + 1186,
1255 5,
1256 ],
1257 ],
@@ -1280,9 +1281,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1281 [
1282 "Component",
1283 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1283 - 1186,
1284 + 1187,
1285 24,
1285 - 1185,
1286 + 1186,
1287 5,
1288 ],
1289 ],
@@ -1299,17 +1300,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
1300 [
1301 "getData",
1302 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1302 - 1175,
1303 + 1176,
1304 13,
1304 - 1174,
1305 + 1175,
1306 5,
1307 ],
1308 [
1309 "ThirdPartyComponent",
1310 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1310 - 1181,
1311 + 1182,
1312 24,
1312 - 1180,
1313 + 1181,
1314 5,
1315 ],
1316 ],
@@ -1336,9 +1337,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1337 [
1338 "Component",
1339 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1339 - 1186,
1340 + 1187,
1341 24,
1341 - 1185,
1342 + 1186,
1343 5,
1344 ],
1345 ],
@@ -1347,17 +1348,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
1348 [
1349 "getData",
1350 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1350 - 1175,
1351 + 1176,
1352 13,
1352 - 1174,
1353 + 1175,
1354 5,
1355 ],
1356 [
1357 "ThirdPartyComponent",
1358 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1358 - 1181,
1359 + 1182,
1360 24,
1360 - 1180,
1361 + 1181,
1362 5,
1363 ],
1364 ],
@@ -1390,9 +1391,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1391 [
1392 "Component",
1393 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1393 - 1186,
1394 + 1187,
1395 24,
1395 - 1185,
1396 + 1186,
1397 5,
1398 ],
1399 ],
@@ -1409,17 +1410,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
1410 [
1411 "getData",
1412 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1412 - 1176,
1413 + 1177,
1414 13,
1414 - 1174,
1415 + 1175,
1416 5,
1417 ],
1418 [
1419 "ThirdPartyComponent",
1420 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1420 - 1181,
1421 + 1182,
1422 18,
1422 - 1180,
1423 + 1181,
1424 5,
1425 ],
1426 ],
@@ -1446,9 +1447,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1447 [
1448 "Component",
1449 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1449 - 1186,
1450 + 1187,
1451 24,
1451 - 1185,
1452 + 1186,
1453 5,
1454 ],
1455 ],
@@ -1457,17 +1458,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
1458 [
1459 "getData",
1460 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1460 - 1176,
1461 + 1177,
1462 13,
1462 - 1174,
1463 + 1175,
1464 5,
1465 ],
1466 [
1467 "ThirdPartyComponent",
1468 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1468 - 1181,
1469 + 1182,
1470 18,
1470 - 1180,
1471 + 1181,
1472 5,
1473 ],
1474 ],
@@ -1565,9 +1566,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1566 [
1567 "Object.<anonymous>",
1568 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1568 - 1529,
1569 + 1530,
1570 40,
1570 - 1512,
1571 + 1513,
1572 62,
1573 ],
1574 [
@@ -1597,9 +1598,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1598 [
1599 "Object.<anonymous>",
1600 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1600 - 1529,
1601 + 1530,
1602 40,
1602 - 1512,
1603 + 1513,
1604 62,
1605 ],
1606 [
@@ -1624,17 +1625,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
1625 [
1626 "getData",
1627 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1627 - 1514,
1628 + 1515,
1629 13,
1629 - 1513,
1630 + 1514,
1631 25,
1632 ],
1633 [
1634 "Component",
1635 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1635 - 1524,
1636 + 1525,
1637 13,
1637 - 1523,
1638 + 1524,
1639 5,
1640 ],
1641 ],
@@ -1653,9 +1654,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1654 [
1655 "Object.<anonymous>",
1656 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1656 - 1529,
1657 + 1530,
1658 40,
1658 - 1512,
1659 + 1513,
1660 62,
1661 ],
1662 [
@@ -1672,17 +1673,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
1673 [
1674 "getData",
1675 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1675 - 1514,
1676 + 1515,
1677 13,
1677 - 1513,
1678 + 1514,
1679 25,
1680 ],
1681 [
1682 "Component",
1683 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1683 - 1524,
1684 + 1525,
1685 13,
1685 - 1523,
1686 + 1524,
1687 5,
1688 ],
1689 ],
@@ -1702,9 +1703,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1703 [
1704 "Component",
1705 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1705 - 1525,
1706 + 1526,
1707 60,
1707 - 1523,
1708 + 1524,
1709 5,
1710 ],
1711 ],
@@ -1726,9 +1727,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1727 [
1728 "Object.<anonymous>",
1729 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1729 - 1529,
1730 + 1530,
1731 40,
1731 - 1512,
1732 + 1513,
1733 62,
1734 ],
1735 [
@@ -1753,17 +1754,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
1754 [
1755 "getData",
1756 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1756 - 1514,
1757 + 1515,
1758 13,
1758 - 1513,
1759 + 1514,
1760 25,
1761 ],
1762 [
1763 "Component",
1764 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1764 - 1524,
1765 + 1525,
1766 13,
1766 - 1523,
1767 + 1524,
1768 5,
1769 ],
1770 ],
@@ -1782,9 +1783,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1783 [
1784 "Component",
1785 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1785 - 1525,
1786 + 1526,
1787 60,
1787 - 1523,
1788 + 1524,
1789 5,
1790 ],
1791 ],
@@ -1793,9 +1794,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1794 [
1795 "Child",
1796 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1796 - 1519,
1797 + 1520,
1798 28,
1798 - 1518,
1799 + 1519,
1800 5,
1801 ],
1802 ],
@@ -1878,9 +1879,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1879 [
1880 "Object.<anonymous>",
1881 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1881 - 1842,
1882 + 1843,
1883 40,
1883 - 1826,
1884 + 1827,
1885 57,
1886 ],
1887 [
@@ -1910,9 +1911,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1911 [
1912 "Object.<anonymous>",
1913 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1913 - 1842,
1914 + 1843,
1915 40,
1915 - 1826,
1916 + 1827,
1917 57,
1918 ],
1919 [
@@ -1937,17 +1938,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
1938 [
1939 "getData",
1940 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1940 - 1828,
1941 + 1829,
1942 13,
1942 - 1827,
1943 + 1828,
1944 25,
1945 ],
1946 [
1947 "Component",
1948 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1948 - 1837,
1949 + 1838,
1950 23,
1950 - 1836,
1951 + 1837,
1952 5,
1953 ],
1954 ],
@@ -1966,9 +1967,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
1967 [
1968 "Object.<anonymous>",
1969 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1969 - 1842,
1970 + 1843,
1971 40,
1971 - 1826,
1972 + 1827,
1973 57,
1974 ],
1975 [
@@ -1985,17 +1986,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
1986 [
1987 "getData",
1988 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1988 - 1828,
1989 + 1829,
1990 13,
1990 - 1827,
1991 + 1828,
1992 25,
1993 ],
1994 [
1995 "Component",
1996 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
1996 - 1837,
1997 + 1838,
1998 23,
1998 - 1836,
1999 + 1837,
2000 5,
2001 ],
2002 ],
@@ -2015,9 +2016,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2016 [
2017 "Component",
2018 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2018 - 1838,
2019 + 1839,
2020 60,
2020 - 1836,
2021 + 1837,
2022 5,
2023 ],
2024 ],
@@ -2036,9 +2037,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2037 [
2038 "Object.<anonymous>",
2039 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2039 - 1842,
2040 + 1843,
2041 40,
2041 - 1826,
2042 + 1827,
2043 57,
2044 ],
2045 [
@@ -2063,17 +2064,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
2064 [
2065 "getData",
2066 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2066 - 1828,
2067 + 1829,
2068 13,
2068 - 1827,
2069 + 1828,
2070 25,
2071 ],
2072 [
2073 "Component",
2074 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2074 - 1837,
2075 + 1838,
2076 23,
2076 - 1836,
2077 + 1837,
2078 5,
2079 ],
2080 ],
@@ -2087,9 +2088,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2088 [
2089 "Component",
2090 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2090 - 1838,
2091 + 1839,
2092 60,
2092 - 1836,
2093 + 1837,
2094 5,
2095 ],
2096 ],
@@ -2174,9 +2175,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2175 [
2176 "Object.<anonymous>",
2177 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2177 - 2138,
2178 + 2139,
2179 40,
2179 - 2120,
2180 + 2121,
2181 80,
2182 ],
2183 [
@@ -2206,9 +2207,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2207 [
2208 "Object.<anonymous>",
2209 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2209 - 2138,
2210 + 2139,
2211 40,
2211 - 2120,
2212 + 2121,
2213 80,
2214 ],
2215 [
@@ -2233,17 +2234,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
2234 [
2235 "delayTrice",
2236 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2236 - 2128,
2237 + 2129,
2238 13,
2238 - 2126,
2239 + 2127,
2240 5,
2241 ],
2242 [
2243 "Bar",
2244 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2244 - 2133,
2245 + 2134,
2246 13,
2246 - 2132,
2247 + 2133,
2248 5,
2249 ],
2250 ],
@@ -2262,9 +2263,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2263 [
2264 "Object.<anonymous>",
2265 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2265 - 2138,
2266 + 2139,
2267 40,
2267 - 2120,
2268 + 2121,
2269 80,
2270 ],
2271 [
@@ -2281,17 +2282,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
2282 [
2283 "delayTrice",
2284 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2284 - 2128,
2285 + 2129,
2286 13,
2286 - 2126,
2287 + 2127,
2288 5,
2289 ],
2290 [
2291 "Bar",
2292 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2292 - 2133,
2293 + 2134,
2294 13,
2294 - 2132,
2295 + 2133,
2296 5,
2297 ],
2298 ],
@@ -2313,9 +2314,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2314 [
2315 "Object.<anonymous>",
2316 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2316 - 2138,
2317 + 2139,
2318 40,
2318 - 2120,
2319 + 2121,
2320 80,
2321 ],
2322 [
@@ -2340,25 +2341,25 @@ describe('ReactFlightAsyncDebugInfo', () => {
2341 [
2342 "delayTwice",
2343 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2343 - 2122,
2344 + 2123,
2345 13,
2345 - 2121,
2346 + 2122,
2347 5,
2348 ],
2349 [
2350 "delayTrice",
2351 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2351 - 2127,
2352 + 2128,
2353 15,
2353 - 2126,
2354 + 2127,
2355 5,
2356 ],
2357 [
2358 "Bar",
2359 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2359 - 2133,
2360 + 2134,
2361 13,
2361 - 2132,
2362 + 2133,
2363 5,
2364 ],
2365 ],
@@ -2377,9 +2378,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2378 [
2379 "Object.<anonymous>",
2380 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2380 - 2138,
2381 + 2139,
2382 40,
2382 - 2120,
2383 + 2121,
2384 80,
2385 ],
2386 [
@@ -2396,25 +2397,25 @@ describe('ReactFlightAsyncDebugInfo', () => {
2397 [
2398 "delayTwice",
2399 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2399 - 2122,
2400 + 2123,
2401 13,
2401 - 2121,
2402 + 2122,
2403 5,
2404 ],
2405 [
2406 "delayTrice",
2407 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2407 - 2127,
2408 + 2128,
2409 15,
2409 - 2126,
2410 + 2127,
2411 5,
2412 ],
2413 [
2414 "Bar",
2415 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2415 - 2133,
2416 + 2134,
2417 13,
2417 - 2132,
2418 + 2133,
2419 5,
2420 ],
2421 ],
@@ -2436,9 +2437,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2437 [
2438 "Object.<anonymous>",
2439 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2439 - 2138,
2440 + 2139,
2441 40,
2441 - 2120,
2442 + 2121,
2443 80,
2444 ],
2445 [
@@ -2463,9 +2464,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2464 [
2465 "delayTwice",
2466 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2466 - 2123,
2467 + 2124,
2468 13,
2468 - 2121,
2469 + 2122,
2470 5,
2471 ],
2472 ],
@@ -2484,9 +2485,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2485 [
2486 "Object.<anonymous>",
2487 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2487 - 2138,
2488 + 2139,
2489 40,
2489 - 2120,
2490 + 2121,
2491 80,
2492 ],
2493 [
@@ -2503,9 +2504,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2504 [
2505 "delayTwice",
2506 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2506 - 2123,
2507 + 2124,
2508 13,
2508 - 2121,
2509 + 2122,
2510 5,
2511 ],
2512 ],
@@ -2578,9 +2579,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2579 [
2580 "Object.<anonymous>",
2581 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2581 - 2547,
2582 + 2548,
2583 109,
2583 - 2536,
2584 + 2537,
2585 58,
2586 ],
2587 ],
@@ -2602,9 +2603,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2603 [
2604 "Object.<anonymous>",
2605 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2605 - 2547,
2606 + 2548,
2607 109,
2607 - 2536,
2608 + 2537,
2609 58,
2610 ],
2611 ],
@@ -2621,17 +2622,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
2622 [
2623 "getData",
2624 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2624 - 2538,
2625 + 2539,
2626 14,
2626 - 2537,
2627 + 2538,
2628 5,
2629 ],
2630 [
2631 "Component",
2632 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2632 - 2544,
2633 + 2545,
2634 20,
2634 - 2543,
2635 + 2544,
2636 5,
2637 ],
2638 ],
@@ -2650,9 +2651,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2651 [
2652 "Object.<anonymous>",
2653 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2653 - 2547,
2654 + 2548,
2655 109,
2655 - 2536,
2656 + 2537,
2657 58,
2658 ],
2659 ],
@@ -2661,17 +2662,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
2662 [
2663 "getData",
2664 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2664 - 2538,
2665 + 2539,
2666 23,
2666 - 2537,
2667 + 2538,
2668 5,
2669 ],
2670 [
2671 "Component",
2672 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2672 - 2544,
2673 + 2545,
2674 20,
2674 - 2543,
2675 + 2544,
2676 5,
2677 ],
2678 ],
@@ -2750,9 +2751,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2751 [
2752 "Object.<anonymous>",
2753 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2753 - 2714,
2754 + 2715,
2755 40,
2755 - 2702,
2756 + 2703,
2757 56,
2758 ],
2759 [
@@ -2782,9 +2783,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2783 [
2784 "Object.<anonymous>",
2785 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2785 - 2714,
2786 + 2715,
2787 40,
2787 - 2702,
2788 + 2703,
2789 56,
2790 ],
2791 [
@@ -2809,9 +2810,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2810 [
2811 "Component",
2812 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2812 - 2710,
2813 + 2711,
2814 20,
2814 - 2709,
2815 + 2710,
2816 5,
2817 ],
2818 ],
@@ -2830,9 +2831,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2831 [
2832 "Object.<anonymous>",
2833 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2833 - 2714,
2834 + 2715,
2835 40,
2835 - 2702,
2836 + 2703,
2837 56,
2838 ],
2839 [
@@ -2849,9 +2850,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2850 [
2851 "Component",
2852 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2852 - 2710,
2853 + 2711,
2854 20,
2854 - 2709,
2855 + 2710,
2856 5,
2857 ],
2858 ],
@@ -2944,9 +2945,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2945 [
2946 "Object.<anonymous>",
2947 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2947 - 2903,
2948 + 2904,
2949 40,
2949 - 2882,
2950 + 2883,
2951 42,
2952 ],
2953 [
@@ -2976,9 +2977,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
2977 [
2978 "Object.<anonymous>",
2979 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2979 - 2903,
2980 + 2904,
2981 40,
2981 - 2882,
2982 + 2883,
2983 42,
2984 ],
2985 [
@@ -2995,17 +2996,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
2996 [
2997 "",
2998 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
2998 - 2889,
2999 + 2890,
3000 15,
3000 - 2888,
3001 + 2889,
3002 15,
3003 ],
3004 [
3005 "Component",
3006 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3006 - 2898,
3007 + 2899,
3008 19,
3008 - 2897,
3009 + 2898,
3010 5,
3011 ],
3012 ],
@@ -3024,9 +3025,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
3025 [
3026 "Object.<anonymous>",
3027 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3027 - 2903,
3028 + 2904,
3029 40,
3029 - 2882,
3030 + 2883,
3031 42,
3032 ],
3033 [
@@ -3043,17 +3044,17 @@ describe('ReactFlightAsyncDebugInfo', () => {
3044 [
3045 "",
3046 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3046 - 2889,
3047 + 2890,
3048 15,
3048 - 2888,
3049 + 2889,
3050 15,
3051 ],
3052 [
3053 "Component",
3054 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3054 - 2898,
3055 + 2899,
3056 19,
3056 - 2897,
3057 + 2898,
3058 5,
3059 ],
3060 ],
@@ -3075,9 +3076,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
3076 [
3077 "Object.<anonymous>",
3078 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3078 - 2903,
3079 + 2904,
3080 40,
3080 - 2882,
3081 + 2883,
3082 42,
3083 ],
3084 [
@@ -3094,9 +3095,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
3095 [
3096 "Component",
3097 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3097 - 2898,
3098 + 2899,
3099 25,
3099 - 2897,
3100 + 2898,
3101 5,
3102 ],
3103 ],
@@ -3115,9 +3116,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
3116 [
3117 "Object.<anonymous>",
3118 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3118 - 2903,
3119 + 2904,
3120 40,
3120 - 2882,
3121 + 2883,
3122 42,
3123 ],
3124 [
@@ -3134,9 +3135,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
3135 [
3136 "Component",
3137 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3137 - 2898,
3138 + 2899,
3139 25,
3139 - 2897,
3140 + 2898,
3141 5,
3142 ],
3143 ],
@@ -3212,9 +3213,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
3213 [
3214 "Object.<anonymous>",
3215 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3215 - 3179,
3216 + 3180,
3217 40,
3217 - 3167,
3218 + 3168,
3219 36,
3220 ],
3221 ],
@@ -3236,9 +3237,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
3237 [
3238 "Object.<anonymous>",
3239 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3239 - 3179,
3240 + 3180,
3241 40,
3241 - 3167,
3242 + 3168,
3243 36,
3244 ],
3245 ],
@@ -3247,9 +3248,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
3248 [
3249 "Component",
3250 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3250 - 3171,
3251 + 3172,
3252 7,
3252 - 3169,
3253 + 3170,
3254 5,
3255 ],
3256 ],
@@ -3268,9 +3269,9 @@ describe('ReactFlightAsyncDebugInfo', () => {
3269 [
3270 "Object.<anonymous>",
3271 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3271 - 3179,
3272 + 3180,
3273 40,
3273 - 3167,
3274 + 3168,
3275 36,
3276 ],
3277 ],
@@ -3279,9 +3280,136 @@ describe('ReactFlightAsyncDebugInfo', () => {
3280 [
3281 "Component",
3282 "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3282 - 3173,
3283 + 3174,
3284 7,
3284 - 3169,
3285 + 3170,
3286 + 5,
3287 + ],
3288 + ],
3289 + },
3290 + {
3291 + "time": 0,
3292 + },
3293 + {
3294 + "time": 0,
3295 + },
3296 + {
3297 + "awaited": {
3298 + "byteSize": 0,
3299 + "end": 0,
3300 + "name": "RSC stream",
3301 + "owner": null,
3302 + "start": 0,
3303 + "value": {
3304 + "value": "stream",
3305 + },
3306 + },
3307 + },
3308 + ]
3309 + `);
3310 + }
3311 + });
3312 +
3313 + it('can track a promise created fully outside first party code', async function internal_test() {
3314 + async function internal_API(text, timeout) {
3315 + let resolve;
3316 + const promise = new Promise(r => {
3317 + resolve = r;
3318 + });
3319 + promise.displayName = 'greeting';
3320 + setTimeout(() => resolve(text), timeout);
3321 + return promise;
3322 + }
3323 +
3324 + async function Component({promise}) {
3325 + const result = await promise;
3326 + return result;
3327 + }
3328 +
3329 + const stream = ReactServerDOMServer.renderToPipeableStream(
3330 + <Component promise={internal_API('hello', 1)} />,
3331 + {},
3332 + {
3333 + filterStackFrame,
3334 + },
3335 + );
3336 +
3337 + const readable = new Stream.PassThrough(streamOptions);
3338 +
3339 + const result = ReactServerDOMClient.createFromNodeStream(readable, {
3340 + moduleMap: {},
3341 + moduleLoading: {},
3342 + });
3343 + stream.pipe(readable);
3344 +
3345 + expect(await result).toBe('hello');
3346 +
3347 + await finishLoadingStream(readable);
3348 + if (
3349 + __DEV__ &&
3350 + gate(
3351 + flags =>
3352 + flags.enableComponentPerformanceTrack && flags.enableAsyncDebugInfo,
3353 + )
3354 + ) {
3355 + expect(getDebugInfo(result)).toMatchInlineSnapshot(`
3356 + [
3357 + {
3358 + "time": 0,
3359 + },
3360 + {
3361 + "env": "Server",
3362 + "key": null,
3363 + "name": "Component",
3364 + "props": {},
3365 + "stack": [
3366 + [
3367 + "new Promise",
3368 + "",
3369 + 0,
3370 + 0,
3371 + 0,
3372 + 0,
3373 + ],
3374 + ],
3375 + },
3376 + {
3377 + "time": 0,
3378 + },
3379 + {
3380 + "awaited": {
3381 + "end": 0,
3382 + "env": "Server",
3383 + "name": "greeting",
3384 + "start": 0,
3385 + "value": {
3386 + "status": "halted",
3387 + },
3388 + },
3389 + "env": "Server",
3390 + "owner": {
3391 + "env": "Server",
3392 + "key": null,
3393 + "name": "Component",
3394 + "props": {},
3395 + "stack": [
3396 + [
3397 + "new Promise",
3398 + "",
3399 + 0,
3400 + 0,
3401 + 0,
3402 + 0,
3403 + ],
3404 + ],
3405 + },
3406 + "stack": [
3407 + [
3408 + "Component",
3409 + "/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
3410 + 3325,
3411 + 20,
3412 + 3324,
3413 5,
3414 ],
3415 ],