From 0a51593146c6dcf43cdf0a432acfc3b9a3e821d3 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Wed, 25 Jun 2025 16:37:57 -0400 Subject: [PATCH] Emit start time before an await if one wasn't emitted already --- packages/react-server/src/ReactFlightServer.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/react-server/src/ReactFlightServer.js b/packages/react-server/src/ReactFlightServer.js index 8a0f517ed5bb4..77f25f6e1b405 100644 --- a/packages/react-server/src/ReactFlightServer.js +++ b/packages/react-server/src/ReactFlightServer.js @@ -2211,6 +2211,10 @@ function emitAsyncSequence( debugInfo.stack = filterStackTrace(request, parseStackTrace(stack, 1)); } } + // We don't have a start time for this await but in case there was no start time emitted + // we need to include something. TODO: We should maybe ideally track the time when we + // called .then() but without updating the task.time field since that's used for the cutoff. + advanceTaskTime(request, task, task.time); emitDebugChunk(request, task.id, debugInfo); // Mark the end time of the await. If we're aborting then we don't emit this // to signal that this never resolved inside this render. @@ -4752,6 +4756,10 @@ function forwardDebugInfoFromAbortedTask(request: Request, task: Task): void { awaited: ((node: any): ReactIOInfo), // This is deduped by this reference. env: env, }; + // We don't have a start time for this await but in case there was no start time emitted + // we need to include something. TODO: We should maybe ideally track the time when we + // called .then() but without updating the task.time field since that's used for the cutoff. + advanceTaskTime(request, task, task.time); emitDebugChunk(request, task.id, asyncInfo); } else { emitAsyncSequence(request, task, sequence, debugInfo, null, null);