diff --git a/package.json b/package.json index 719c59ed31406..252b9916d07e2 100644 --- a/package.json +++ b/package.json @@ -233,16 +233,16 @@ "pretty-ms": "7.0.0", "random-seed": "0.3.0", "react": "19.0.0", - "react-builtin": "npm:react@19.2.0-canary-14094f80-20250529", + "react-builtin": "npm:react@19.2.0-canary-37054867-20250604", "react-dom": "19.0.0", - "react-dom-builtin": "npm:react-dom@19.2.0-canary-14094f80-20250529", - "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-14094f80-20250529", - "react-experimental-builtin": "npm:react@0.0.0-experimental-14094f80-20250529", - "react-is-builtin": "npm:react-is@19.2.0-canary-14094f80-20250529", - "react-server-dom-turbopack": "19.2.0-canary-14094f80-20250529", - "react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-14094f80-20250529", - "react-server-dom-webpack": "19.2.0-canary-14094f80-20250529", - "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-14094f80-20250529", + "react-dom-builtin": "npm:react-dom@19.2.0-canary-37054867-20250604", + "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-37054867-20250604", + "react-experimental-builtin": "npm:react@0.0.0-experimental-37054867-20250604", + "react-is-builtin": "npm:react-is@19.2.0-canary-37054867-20250604", + "react-server-dom-turbopack": "19.2.0-canary-37054867-20250604", + "react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-37054867-20250604", + "react-server-dom-webpack": "19.2.0-canary-37054867-20250604", + "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-37054867-20250604", "react-ssr-prepass": "1.0.8", "react-virtualized": "9.22.3", "relay-compiler": "13.0.2", @@ -252,8 +252,8 @@ "resolve-from": "5.0.0", "sass": "1.54.0", "satori": "0.12.2", - "scheduler-builtin": "npm:scheduler@0.27.0-canary-14094f80-20250529", - "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-14094f80-20250529", + "scheduler-builtin": "npm:scheduler@0.27.0-canary-37054867-20250604", + "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-37054867-20250604", "seedrandom": "3.0.5", "semver": "7.3.7", "shell-quote": "1.7.3", @@ -296,10 +296,10 @@ "@types/react-dom": "19.1.2", "@types/retry": "0.12.0", "jest-snapshot": "30.0.0-alpha.6", - "react": "19.2.0-canary-14094f80-20250529", - "react-dom": "19.2.0-canary-14094f80-20250529", - "react-is": "19.2.0-canary-14094f80-20250529", - "scheduler": "0.27.0-canary-14094f80-20250529" + "react": "19.2.0-canary-37054867-20250604", + "react-dom": "19.2.0-canary-37054867-20250604", + "react-is": "19.2.0-canary-37054867-20250604", + "scheduler": "0.27.0-canary-37054867-20250604" }, "patchedDependencies": { "webpack-sources@3.2.3": "patches/webpack-sources@3.2.3.patch", diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js index d3160b129c1e8..2affd8a30dc00 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js @@ -3822,7 +3822,7 @@ if (null !== instance.autoName) return instance.autoName; props = pendingEffectsRoot.identifierPrefix; var globalClientId = globalClientIdCounter$1++; - props = "\u00ab" + props + "t" + globalClientId.toString(32) + "\u00bb"; + props = "_" + props + "t_" + globalClientId.toString(32) + "_"; return (instance.autoName = props); } function getClassNameByType(classByType) { @@ -7257,7 +7257,10 @@ return node; } else if ( 19 === node.tag && - void 0 !== node.memoizedProps.revealOrder + ("forwards" === node.memoizedProps.revealOrder || + "backwards" === node.memoizedProps.revealOrder || + "unstable_legacy-backwards" === node.memoizedProps.revealOrder || + "together" === node.memoizedProps.revealOrder) ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { @@ -8814,14 +8817,14 @@ ( idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + treeId; - identifierPrefix = "\u00ab" + identifierPrefix + "R" + treeId; + identifierPrefix = "_" + identifierPrefix + "R_" + treeId; treeId = localIdCounter++; 0 < treeId && (identifierPrefix += "H" + treeId.toString(32)); - identifierPrefix += "\u00bb"; + identifierPrefix += "_"; } else (treeId = globalClientIdCounter++), (identifierPrefix = - "\u00ab" + identifierPrefix + "r" + treeId.toString(32) + "\u00bb"); + "_" + identifierPrefix + "r_" + treeId.toString(32) + "_"); return (hook.memoizedState = identifierPrefix); } function mountRefresh() { @@ -10479,25 +10482,25 @@ return current; } function updateSuspenseComponent(current, workInProgress, renderLanes) { - var JSCompiler_object_inline_componentStack_3143; - var JSCompiler_object_inline_stack_3142 = workInProgress.pendingProps; + var JSCompiler_object_inline_componentStack_3145; + var JSCompiler_object_inline_stack_3144 = workInProgress.pendingProps; shouldSuspendImpl(workInProgress) && (workInProgress.flags |= 128); - var JSCompiler_object_inline_digest_3141 = !1; + var JSCompiler_object_inline_digest_3143 = !1; var didSuspend = 0 !== (workInProgress.flags & 128); - (JSCompiler_object_inline_componentStack_3143 = didSuspend) || - (JSCompiler_object_inline_componentStack_3143 = + (JSCompiler_object_inline_componentStack_3145 = didSuspend) || + (JSCompiler_object_inline_componentStack_3145 = null !== current && null === current.memoizedState ? !1 : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback)); - JSCompiler_object_inline_componentStack_3143 && - ((JSCompiler_object_inline_digest_3141 = !0), + JSCompiler_object_inline_componentStack_3145 && + ((JSCompiler_object_inline_digest_3143 = !0), (workInProgress.flags &= -129)); - JSCompiler_object_inline_componentStack_3143 = + JSCompiler_object_inline_componentStack_3145 = 0 !== (workInProgress.flags & 32); workInProgress.flags &= -33; if (null === current) { if (isHydrating) { - JSCompiler_object_inline_digest_3141 + JSCompiler_object_inline_digest_3143 ? pushPrimaryTreeSuspenseHandler(workInProgress) : reuseSuspenseHandlerOnStack(workInProgress); (current = nextHydratableInstance) @@ -10510,20 +10513,20 @@ ? renderLanes : null), null !== renderLanes && - ((JSCompiler_object_inline_componentStack_3143 = { + ((JSCompiler_object_inline_componentStack_3145 = { dehydrated: renderLanes, treeContext: getSuspendedTreeContext(), retryLane: 536870912, hydrationErrors: null }), (workInProgress.memoizedState = - JSCompiler_object_inline_componentStack_3143), - (JSCompiler_object_inline_componentStack_3143 = + JSCompiler_object_inline_componentStack_3145), + (JSCompiler_object_inline_componentStack_3145 = createFiberFromDehydratedFragment(renderLanes)), - (JSCompiler_object_inline_componentStack_3143.return = + (JSCompiler_object_inline_componentStack_3145.return = workInProgress), (workInProgress.child = - JSCompiler_object_inline_componentStack_3143), + JSCompiler_object_inline_componentStack_3145), (hydrationParentFiber = workInProgress), (nextHydratableInstance = null))) : (renderLanes = null); @@ -10537,12 +10540,12 @@ : (workInProgress.lanes = 536870912); return null; } - var nextPrimaryChildren = JSCompiler_object_inline_stack_3142.children, - nextFallbackChildren = JSCompiler_object_inline_stack_3142.fallback; - if (JSCompiler_object_inline_digest_3141) + var nextPrimaryChildren = JSCompiler_object_inline_stack_3144.children, + nextFallbackChildren = JSCompiler_object_inline_stack_3144.fallback; + if (JSCompiler_object_inline_digest_3143) return ( reuseSuspenseHandlerOnStack(workInProgress), - (JSCompiler_object_inline_stack_3142 = + (JSCompiler_object_inline_stack_3144 = mountSuspenseFallbackChildren( workInProgress, nextPrimaryChildren, @@ -10554,19 +10557,19 @@ mountSuspenseOffscreenState(renderLanes)), (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_componentStack_3143, + JSCompiler_object_inline_componentStack_3145, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), - JSCompiler_object_inline_stack_3142 + JSCompiler_object_inline_stack_3144 ); if ( "number" === - typeof JSCompiler_object_inline_stack_3142.unstable_expectedLoadTime + typeof JSCompiler_object_inline_stack_3144.unstable_expectedLoadTime ) return ( reuseSuspenseHandlerOnStack(workInProgress), - (JSCompiler_object_inline_stack_3142 = + (JSCompiler_object_inline_stack_3144 = mountSuspenseFallbackChildren( workInProgress, nextPrimaryChildren, @@ -10578,12 +10581,12 @@ mountSuspenseOffscreenState(renderLanes)), (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_componentStack_3143, + JSCompiler_object_inline_componentStack_3145, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), (workInProgress.lanes = 4194304), - JSCompiler_object_inline_stack_3142 + JSCompiler_object_inline_stack_3144 ); pushPrimaryTreeSuspenseHandler(workInProgress); return mountSuspensePrimaryChildren( @@ -10593,8 +10596,8 @@ } var prevState = current.memoizedState; if (null !== prevState) { - var JSCompiler_object_inline_message_3140 = prevState.dehydrated; - if (null !== JSCompiler_object_inline_message_3140) { + var JSCompiler_object_inline_message_3142 = prevState.dehydrated; + if (null !== JSCompiler_object_inline_message_3142) { if (didSuspend) workInProgress.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress), @@ -10611,13 +10614,13 @@ (workInProgress = null)) : (reuseSuspenseHandlerOnStack(workInProgress), (nextPrimaryChildren = - JSCompiler_object_inline_stack_3142.fallback), + JSCompiler_object_inline_stack_3144.fallback), (nextFallbackChildren = workInProgress.mode), - (JSCompiler_object_inline_stack_3142 = + (JSCompiler_object_inline_stack_3144 = mountWorkInProgressOffscreenFiber( { mode: "visible", - children: JSCompiler_object_inline_stack_3142.children + children: JSCompiler_object_inline_stack_3144.children }, nextFallbackChildren )), @@ -10628,24 +10631,24 @@ null )), (nextPrimaryChildren.flags |= 2), - (JSCompiler_object_inline_stack_3142.return = workInProgress), + (JSCompiler_object_inline_stack_3144.return = workInProgress), (nextPrimaryChildren.return = workInProgress), - (JSCompiler_object_inline_stack_3142.sibling = + (JSCompiler_object_inline_stack_3144.sibling = nextPrimaryChildren), - (workInProgress.child = JSCompiler_object_inline_stack_3142), + (workInProgress.child = JSCompiler_object_inline_stack_3144), reconcileChildFibers( workInProgress, current.child, null, renderLanes ), - (JSCompiler_object_inline_stack_3142 = workInProgress.child), - (JSCompiler_object_inline_stack_3142.memoizedState = + (JSCompiler_object_inline_stack_3144 = workInProgress.child), + (JSCompiler_object_inline_stack_3144.memoizedState = mountSuspenseOffscreenState(renderLanes)), - (JSCompiler_object_inline_stack_3142.childLanes = + (JSCompiler_object_inline_stack_3144.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_componentStack_3143, + JSCompiler_object_inline_componentStack_3145, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), @@ -10653,48 +10656,48 @@ else if ( (pushPrimaryTreeSuspenseHandler(workInProgress), warnIfHydrating(), - isSuspenseInstanceFallback(JSCompiler_object_inline_message_3140)) + isSuspenseInstanceFallback(JSCompiler_object_inline_message_3142)) ) { - JSCompiler_object_inline_componentStack_3143 = - JSCompiler_object_inline_message_3140.nextSibling && - JSCompiler_object_inline_message_3140.nextSibling.dataset; - if (JSCompiler_object_inline_componentStack_3143) { + JSCompiler_object_inline_componentStack_3145 = + JSCompiler_object_inline_message_3142.nextSibling && + JSCompiler_object_inline_message_3142.nextSibling.dataset; + if (JSCompiler_object_inline_componentStack_3145) { nextPrimaryChildren = - JSCompiler_object_inline_componentStack_3143.dgst; - var message = JSCompiler_object_inline_componentStack_3143.msg; + JSCompiler_object_inline_componentStack_3145.dgst; + var message = JSCompiler_object_inline_componentStack_3145.msg; nextFallbackChildren = - JSCompiler_object_inline_componentStack_3143.stck; + JSCompiler_object_inline_componentStack_3145.stck; var componentStack = - JSCompiler_object_inline_componentStack_3143.cstck; + JSCompiler_object_inline_componentStack_3145.cstck; } - JSCompiler_object_inline_message_3140 = message; - JSCompiler_object_inline_digest_3141 = nextPrimaryChildren; - JSCompiler_object_inline_stack_3142 = nextFallbackChildren; - JSCompiler_object_inline_componentStack_3143 = componentStack; - nextPrimaryChildren = JSCompiler_object_inline_digest_3141; - nextFallbackChildren = JSCompiler_object_inline_message_3140; - componentStack = JSCompiler_object_inline_componentStack_3143; + JSCompiler_object_inline_message_3142 = message; + JSCompiler_object_inline_digest_3143 = nextPrimaryChildren; + JSCompiler_object_inline_stack_3144 = nextFallbackChildren; + JSCompiler_object_inline_componentStack_3145 = componentStack; + nextPrimaryChildren = JSCompiler_object_inline_digest_3143; + nextFallbackChildren = JSCompiler_object_inline_message_3142; + componentStack = JSCompiler_object_inline_componentStack_3145; "POSTPONE" !== nextPrimaryChildren && - ((JSCompiler_object_inline_componentStack_3143 = + ((JSCompiler_object_inline_componentStack_3145 = nextFallbackChildren ? Error(nextFallbackChildren) : Error( "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering." )), - (JSCompiler_object_inline_componentStack_3143.stack = - JSCompiler_object_inline_stack_3142 || ""), - (JSCompiler_object_inline_componentStack_3143.digest = + (JSCompiler_object_inline_componentStack_3145.stack = + JSCompiler_object_inline_stack_3144 || ""), + (JSCompiler_object_inline_componentStack_3145.digest = nextPrimaryChildren), - (JSCompiler_object_inline_stack_3142 = + (JSCompiler_object_inline_stack_3144 = void 0 === componentStack ? null : componentStack), (nextPrimaryChildren = { - value: JSCompiler_object_inline_componentStack_3143, + value: JSCompiler_object_inline_componentStack_3145, source: null, - stack: JSCompiler_object_inline_stack_3142 + stack: JSCompiler_object_inline_stack_3144 }), - "string" === typeof JSCompiler_object_inline_stack_3142 && + "string" === typeof JSCompiler_object_inline_stack_3144 && CapturedStacks.set( - JSCompiler_object_inline_componentStack_3143, + JSCompiler_object_inline_componentStack_3145, nextPrimaryChildren ), queueHydrationError(nextPrimaryChildren)); @@ -10711,34 +10714,34 @@ renderLanes, !1 ), - (JSCompiler_object_inline_componentStack_3143 = + (JSCompiler_object_inline_componentStack_3145 = 0 !== (renderLanes & current.childLanes)), - didReceiveUpdate || JSCompiler_object_inline_componentStack_3143) + didReceiveUpdate || JSCompiler_object_inline_componentStack_3145) ) { - JSCompiler_object_inline_componentStack_3143 = workInProgressRoot; + JSCompiler_object_inline_componentStack_3145 = workInProgressRoot; if ( - null !== JSCompiler_object_inline_componentStack_3143 && - ((JSCompiler_object_inline_stack_3142 = getBumpedLaneForHydration( - JSCompiler_object_inline_componentStack_3143, + null !== JSCompiler_object_inline_componentStack_3145 && + ((JSCompiler_object_inline_stack_3144 = getBumpedLaneForHydration( + JSCompiler_object_inline_componentStack_3145, renderLanes )), - 0 !== JSCompiler_object_inline_stack_3142 && - JSCompiler_object_inline_stack_3142 !== prevState.retryLane) + 0 !== JSCompiler_object_inline_stack_3144 && + JSCompiler_object_inline_stack_3144 !== prevState.retryLane) ) throw ( - ((prevState.retryLane = JSCompiler_object_inline_stack_3142), + ((prevState.retryLane = JSCompiler_object_inline_stack_3144), enqueueConcurrentRenderForLane( current, - JSCompiler_object_inline_stack_3142 + JSCompiler_object_inline_stack_3144 ), scheduleUpdateOnFiber( - JSCompiler_object_inline_componentStack_3143, + JSCompiler_object_inline_componentStack_3145, current, - JSCompiler_object_inline_stack_3142 + JSCompiler_object_inline_stack_3144 ), SelectiveHydrationException) ); - isSuspenseInstancePending(JSCompiler_object_inline_message_3140) || + isSuspenseInstancePending(JSCompiler_object_inline_message_3142) || renderDidSuspendDelayIfPossible(); workInProgress = retrySuspenseComponentWithoutHydrating( current, @@ -10746,13 +10749,13 @@ renderLanes ); } else - isSuspenseInstancePending(JSCompiler_object_inline_message_3140) + isSuspenseInstancePending(JSCompiler_object_inline_message_3142) ? ((workInProgress.flags |= 192), (workInProgress.child = current.child), (workInProgress = null)) : ((current = prevState.treeContext), (nextHydratableInstance = getNextHydratable( - JSCompiler_object_inline_message_3140.nextSibling + JSCompiler_object_inline_message_3142.nextSibling )), (hydrationParentFiber = workInProgress), (isHydrating = !0), @@ -10764,31 +10767,31 @@ restoreSuspendedTreeContext(workInProgress, current), (workInProgress = mountSuspensePrimaryChildren( workInProgress, - JSCompiler_object_inline_stack_3142.children + JSCompiler_object_inline_stack_3144.children )), (workInProgress.flags |= 4096)); return workInProgress; } } - if (JSCompiler_object_inline_digest_3141) + if (JSCompiler_object_inline_digest_3143) return ( reuseSuspenseHandlerOnStack(workInProgress), - (nextPrimaryChildren = JSCompiler_object_inline_stack_3142.fallback), + (nextPrimaryChildren = JSCompiler_object_inline_stack_3144.fallback), (nextFallbackChildren = workInProgress.mode), (componentStack = current.child), - (JSCompiler_object_inline_message_3140 = componentStack.sibling), - (JSCompiler_object_inline_stack_3142 = createWorkInProgress( + (JSCompiler_object_inline_message_3142 = componentStack.sibling), + (JSCompiler_object_inline_stack_3144 = createWorkInProgress( componentStack, { mode: "hidden", - children: JSCompiler_object_inline_stack_3142.children + children: JSCompiler_object_inline_stack_3144.children } )), - (JSCompiler_object_inline_stack_3142.subtreeFlags = + (JSCompiler_object_inline_stack_3144.subtreeFlags = componentStack.subtreeFlags & 65011712), - null !== JSCompiler_object_inline_message_3140 + null !== JSCompiler_object_inline_message_3142 ? (nextPrimaryChildren = createWorkInProgress( - JSCompiler_object_inline_message_3140, + JSCompiler_object_inline_message_3142, nextPrimaryChildren )) : ((nextPrimaryChildren = createFiberFromFragment( @@ -10799,24 +10802,24 @@ )), (nextPrimaryChildren.flags |= 2)), (nextPrimaryChildren.return = workInProgress), - (JSCompiler_object_inline_stack_3142.return = workInProgress), - (JSCompiler_object_inline_stack_3142.sibling = nextPrimaryChildren), - (workInProgress.child = JSCompiler_object_inline_stack_3142), - (JSCompiler_object_inline_stack_3142 = nextPrimaryChildren), + (JSCompiler_object_inline_stack_3144.return = workInProgress), + (JSCompiler_object_inline_stack_3144.sibling = nextPrimaryChildren), + (workInProgress.child = JSCompiler_object_inline_stack_3144), + (JSCompiler_object_inline_stack_3144 = nextPrimaryChildren), (nextPrimaryChildren = workInProgress.child), (nextFallbackChildren = current.child.memoizedState), null === nextFallbackChildren ? (nextFallbackChildren = mountSuspenseOffscreenState(renderLanes)) : ((componentStack = nextFallbackChildren.cachePool), null !== componentStack - ? ((JSCompiler_object_inline_message_3140 = + ? ((JSCompiler_object_inline_message_3142 = CacheContext._currentValue), (componentStack = componentStack.parent !== - JSCompiler_object_inline_message_3140 + JSCompiler_object_inline_message_3142 ? { - parent: JSCompiler_object_inline_message_3140, - pool: JSCompiler_object_inline_message_3140 + parent: JSCompiler_object_inline_message_3142, + pool: JSCompiler_object_inline_message_3142 } : componentStack)) : (componentStack = getSuspendedCache()), @@ -10827,28 +10830,28 @@ (nextPrimaryChildren.memoizedState = nextFallbackChildren), (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_componentStack_3143, + JSCompiler_object_inline_componentStack_3145, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), - JSCompiler_object_inline_stack_3142 + JSCompiler_object_inline_stack_3144 ); pushPrimaryTreeSuspenseHandler(workInProgress); renderLanes = current.child; current = renderLanes.sibling; renderLanes = createWorkInProgress(renderLanes, { mode: "visible", - children: JSCompiler_object_inline_stack_3142.children + children: JSCompiler_object_inline_stack_3144.children }); renderLanes.return = workInProgress; renderLanes.sibling = null; null !== current && - ((JSCompiler_object_inline_componentStack_3143 = + ((JSCompiler_object_inline_componentStack_3145 = workInProgress.deletions), - null === JSCompiler_object_inline_componentStack_3143 + null === JSCompiler_object_inline_componentStack_3145 ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16)) - : JSCompiler_object_inline_componentStack_3143.push(current)); + : JSCompiler_object_inline_componentStack_3145.push(current)); workInProgress.child = renderLanes; workInProgress.memoizedState = null; return renderLanes; @@ -10957,21 +10960,30 @@ (workInProgress.flags |= 128)) : (suspenseContext &= SubtreeSuspenseContextMask); push(suspenseStackCursor, suspenseContext, workInProgress); + suspenseContext = null == revealOrder ? "null" : revealOrder; if ( - void 0 !== revealOrder && "forwards" !== revealOrder && - "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder && "together" !== revealOrder && - !didWarnAboutRevealOrder[revealOrder] + "independent" !== revealOrder && + !didWarnAboutRevealOrder[suspenseContext] ) if ( - ((didWarnAboutRevealOrder[revealOrder] = !0), - "string" === typeof revealOrder) + ((didWarnAboutRevealOrder[suspenseContext] = !0), null == revealOrder) ) + console.error( + 'The default for the prop is changing. To be future compatible you must explictly specify either "independent" (the current default), "together", "forwards" or "legacy_unstable-backwards".' + ); + else if ("backwards" === revealOrder) + console.error( + 'The rendering order of is changing. To be future compatible you must specify revealOrder="legacy_unstable-backwards" instead.' + ); + else if ("string" === typeof revealOrder) switch (revealOrder.toLowerCase()) { case "together": case "forwards": case "backwards": + case "independent": console.error( '"%s" is not a valid value for revealOrder on . Use lowercase "%s" instead.', revealOrder, @@ -10988,32 +11000,48 @@ break; default: console.error( - '"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '"%s" is not a supported revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); } else console.error( - '%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '%s is not a supported value for revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); - void 0 === tailMode || - didWarnAboutTailOptions[tailMode] || - ("collapsed" !== tailMode && "hidden" !== tailMode - ? ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - '"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?', - tailMode - )) - : "forwards" !== revealOrder && - "backwards" !== revealOrder && - ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', - tailMode - ))); + suspenseContext = null == tailMode ? "null" : tailMode; + if (!didWarnAboutTailOptions[suspenseContext]) + if (null == tailMode) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) + (didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + 'The default for the prop is changing. To be future compatible you must explictly specify either "visible" (the current default), "collapsed" or "hidden".' + ); + } else + "visible" !== tailMode && + "collapsed" !== tailMode && + "hidden" !== tailMode + ? ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + '"%s" is not a supported value for tail on . Did you mean "visible", "collapsed" or "hidden"?', + tailMode + )) + : "forwards" !== revealOrder && + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder && + ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', + tailMode + )); a: if ( - ("forwards" === revealOrder || "backwards" === revealOrder) && + ("forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && !1 !== nextProps @@ -11111,6 +11139,7 @@ ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -30602,11 +30631,11 @@ }; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.2.0-experimental-14094f80-20250529" !== isomorphicReactPackageVersion) + if ("19.2.0-experimental-37054867-20250604" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.2.0-experimental-14094f80-20250529\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.2.0-experimental-37054867-20250604\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -30643,10 +30672,10 @@ !(function () { var internals = { bundleType: 1, - version: "19.2.0-experimental-14094f80-20250529", + version: "19.2.0-experimental-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-experimental-14094f80-20250529" + reconcilerVersion: "19.2.0-experimental-37054867-20250604" }; internals.overrideHookState = overrideHookState; internals.overrideHookStateDeletePath = overrideHookStateDeletePath; @@ -30792,7 +30821,7 @@ listenToAllSupportedEvents(container); return new ReactDOMHydrationRoot(initialChildren); }; - exports.version = "19.2.0-experimental-14094f80-20250529"; + exports.version = "19.2.0-experimental-37054867-20250604"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js index 7469384ddefc0..038deff862268 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js @@ -2381,7 +2381,7 @@ function getViewTransitionName(props, instance) { if (null !== instance.autoName) return instance.autoName; props = pendingEffectsRoot.identifierPrefix; var globalClientId = globalClientIdCounter$1++; - props = "\u00ab" + props + "t" + globalClientId.toString(32) + "\u00bb"; + props = "_" + props + "t_" + globalClientId.toString(32) + "_"; return (instance.autoName = props); } function getClassNameByType(classByType) { @@ -4610,7 +4610,13 @@ function findFirstSuspended(row) { isSuspenseInstanceFallback(state)) ) return node; - } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { + } else if ( + 19 === node.tag && + ("forwards" === node.memoizedProps.revealOrder || + "backwards" === node.memoizedProps.revealOrder || + "unstable_legacy-backwards" === node.memoizedProps.revealOrder || + "together" === node.memoizedProps.revealOrder) + ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { node.child.return = node; @@ -6002,19 +6008,19 @@ var HooksDispatcherOnMount = { idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + JSCompiler_inline_result; identifierPrefix = - "\u00ab" + identifierPrefix + "R" + JSCompiler_inline_result; + "_" + identifierPrefix + "R_" + JSCompiler_inline_result; JSCompiler_inline_result = localIdCounter++; 0 < JSCompiler_inline_result && (identifierPrefix += "H" + JSCompiler_inline_result.toString(32)); - identifierPrefix += "\u00bb"; + identifierPrefix += "_"; } else (JSCompiler_inline_result = globalClientIdCounter++), (identifierPrefix = - "\u00ab" + + "_" + identifierPrefix + - "r" + + "r_" + JSCompiler_inline_result.toString(32) + - "\u00bb"); + "_"); return (hook.memoizedState = identifierPrefix); }, useHostTransitionStatus: useHostTransitionStatus, @@ -7532,6 +7538,7 @@ function updateSuspenseListComponent(current, workInProgress, renderLanes) { ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -19132,14 +19139,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) { }; var isomorphicReactPackageVersion$jscomp$inline_2180 = React.version; if ( - "19.2.0-experimental-14094f80-20250529" !== + "19.2.0-experimental-37054867-20250604" !== isomorphicReactPackageVersion$jscomp$inline_2180 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_2180, - "19.2.0-experimental-14094f80-20250529" + "19.2.0-experimental-37054867-20250604" ) ); ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { @@ -19161,10 +19168,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { }; var internals$jscomp$inline_2865 = { bundleType: 0, - version: "19.2.0-experimental-14094f80-20250529", + version: "19.2.0-experimental-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-experimental-14094f80-20250529" + reconcilerVersion: "19.2.0-experimental-37054867-20250604" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_2866 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -19271,4 +19278,4 @@ exports.hydrateRoot = function (container, initialChildren, options) { listenToAllSupportedEvents(container); return new ReactDOMHydrationRoot(initialChildren); }; -exports.version = "19.2.0-experimental-14094f80-20250529"; +exports.version = "19.2.0-experimental-37054867-20250604"; diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js index 88fa22602e6db..c38bea516b35d 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js @@ -3830,7 +3830,7 @@ if (null !== instance.autoName) return instance.autoName; props = pendingEffectsRoot.identifierPrefix; var globalClientId = globalClientIdCounter$1++; - props = "\u00ab" + props + "t" + globalClientId.toString(32) + "\u00bb"; + props = "_" + props + "t_" + globalClientId.toString(32) + "_"; return (instance.autoName = props); } function getClassNameByType(classByType) { @@ -7265,7 +7265,10 @@ return node; } else if ( 19 === node.tag && - void 0 !== node.memoizedProps.revealOrder + ("forwards" === node.memoizedProps.revealOrder || + "backwards" === node.memoizedProps.revealOrder || + "unstable_legacy-backwards" === node.memoizedProps.revealOrder || + "together" === node.memoizedProps.revealOrder) ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { @@ -8822,14 +8825,14 @@ ( idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + treeId; - identifierPrefix = "\u00ab" + identifierPrefix + "R" + treeId; + identifierPrefix = "_" + identifierPrefix + "R_" + treeId; treeId = localIdCounter++; 0 < treeId && (identifierPrefix += "H" + treeId.toString(32)); - identifierPrefix += "\u00bb"; + identifierPrefix += "_"; } else (treeId = globalClientIdCounter++), (identifierPrefix = - "\u00ab" + identifierPrefix + "r" + treeId.toString(32) + "\u00bb"); + "_" + identifierPrefix + "r_" + treeId.toString(32) + "_"); return (hook.memoizedState = identifierPrefix); } function mountRefresh() { @@ -10487,25 +10490,25 @@ return current; } function updateSuspenseComponent(current, workInProgress, renderLanes) { - var JSCompiler_object_inline_componentStack_3148; - var JSCompiler_object_inline_stack_3147 = workInProgress.pendingProps; + var JSCompiler_object_inline_componentStack_3150; + var JSCompiler_object_inline_stack_3149 = workInProgress.pendingProps; shouldSuspendImpl(workInProgress) && (workInProgress.flags |= 128); - var JSCompiler_object_inline_digest_3146 = !1; + var JSCompiler_object_inline_digest_3148 = !1; var didSuspend = 0 !== (workInProgress.flags & 128); - (JSCompiler_object_inline_componentStack_3148 = didSuspend) || - (JSCompiler_object_inline_componentStack_3148 = + (JSCompiler_object_inline_componentStack_3150 = didSuspend) || + (JSCompiler_object_inline_componentStack_3150 = null !== current && null === current.memoizedState ? !1 : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback)); - JSCompiler_object_inline_componentStack_3148 && - ((JSCompiler_object_inline_digest_3146 = !0), + JSCompiler_object_inline_componentStack_3150 && + ((JSCompiler_object_inline_digest_3148 = !0), (workInProgress.flags &= -129)); - JSCompiler_object_inline_componentStack_3148 = + JSCompiler_object_inline_componentStack_3150 = 0 !== (workInProgress.flags & 32); workInProgress.flags &= -33; if (null === current) { if (isHydrating) { - JSCompiler_object_inline_digest_3146 + JSCompiler_object_inline_digest_3148 ? pushPrimaryTreeSuspenseHandler(workInProgress) : reuseSuspenseHandlerOnStack(workInProgress); (current = nextHydratableInstance) @@ -10518,20 +10521,20 @@ ? renderLanes : null), null !== renderLanes && - ((JSCompiler_object_inline_componentStack_3148 = { + ((JSCompiler_object_inline_componentStack_3150 = { dehydrated: renderLanes, treeContext: getSuspendedTreeContext(), retryLane: 536870912, hydrationErrors: null }), (workInProgress.memoizedState = - JSCompiler_object_inline_componentStack_3148), - (JSCompiler_object_inline_componentStack_3148 = + JSCompiler_object_inline_componentStack_3150), + (JSCompiler_object_inline_componentStack_3150 = createFiberFromDehydratedFragment(renderLanes)), - (JSCompiler_object_inline_componentStack_3148.return = + (JSCompiler_object_inline_componentStack_3150.return = workInProgress), (workInProgress.child = - JSCompiler_object_inline_componentStack_3148), + JSCompiler_object_inline_componentStack_3150), (hydrationParentFiber = workInProgress), (nextHydratableInstance = null))) : (renderLanes = null); @@ -10545,12 +10548,12 @@ : (workInProgress.lanes = 536870912); return null; } - var nextPrimaryChildren = JSCompiler_object_inline_stack_3147.children, - nextFallbackChildren = JSCompiler_object_inline_stack_3147.fallback; - if (JSCompiler_object_inline_digest_3146) + var nextPrimaryChildren = JSCompiler_object_inline_stack_3149.children, + nextFallbackChildren = JSCompiler_object_inline_stack_3149.fallback; + if (JSCompiler_object_inline_digest_3148) return ( reuseSuspenseHandlerOnStack(workInProgress), - (JSCompiler_object_inline_stack_3147 = + (JSCompiler_object_inline_stack_3149 = mountSuspenseFallbackChildren( workInProgress, nextPrimaryChildren, @@ -10562,19 +10565,19 @@ mountSuspenseOffscreenState(renderLanes)), (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_componentStack_3148, + JSCompiler_object_inline_componentStack_3150, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), - JSCompiler_object_inline_stack_3147 + JSCompiler_object_inline_stack_3149 ); if ( "number" === - typeof JSCompiler_object_inline_stack_3147.unstable_expectedLoadTime + typeof JSCompiler_object_inline_stack_3149.unstable_expectedLoadTime ) return ( reuseSuspenseHandlerOnStack(workInProgress), - (JSCompiler_object_inline_stack_3147 = + (JSCompiler_object_inline_stack_3149 = mountSuspenseFallbackChildren( workInProgress, nextPrimaryChildren, @@ -10586,12 +10589,12 @@ mountSuspenseOffscreenState(renderLanes)), (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_componentStack_3148, + JSCompiler_object_inline_componentStack_3150, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), (workInProgress.lanes = 4194304), - JSCompiler_object_inline_stack_3147 + JSCompiler_object_inline_stack_3149 ); pushPrimaryTreeSuspenseHandler(workInProgress); return mountSuspensePrimaryChildren( @@ -10601,8 +10604,8 @@ } var prevState = current.memoizedState; if (null !== prevState) { - var JSCompiler_object_inline_message_3145 = prevState.dehydrated; - if (null !== JSCompiler_object_inline_message_3145) { + var JSCompiler_object_inline_message_3147 = prevState.dehydrated; + if (null !== JSCompiler_object_inline_message_3147) { if (didSuspend) workInProgress.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress), @@ -10619,13 +10622,13 @@ (workInProgress = null)) : (reuseSuspenseHandlerOnStack(workInProgress), (nextPrimaryChildren = - JSCompiler_object_inline_stack_3147.fallback), + JSCompiler_object_inline_stack_3149.fallback), (nextFallbackChildren = workInProgress.mode), - (JSCompiler_object_inline_stack_3147 = + (JSCompiler_object_inline_stack_3149 = mountWorkInProgressOffscreenFiber( { mode: "visible", - children: JSCompiler_object_inline_stack_3147.children + children: JSCompiler_object_inline_stack_3149.children }, nextFallbackChildren )), @@ -10636,24 +10639,24 @@ null )), (nextPrimaryChildren.flags |= 2), - (JSCompiler_object_inline_stack_3147.return = workInProgress), + (JSCompiler_object_inline_stack_3149.return = workInProgress), (nextPrimaryChildren.return = workInProgress), - (JSCompiler_object_inline_stack_3147.sibling = + (JSCompiler_object_inline_stack_3149.sibling = nextPrimaryChildren), - (workInProgress.child = JSCompiler_object_inline_stack_3147), + (workInProgress.child = JSCompiler_object_inline_stack_3149), reconcileChildFibers( workInProgress, current.child, null, renderLanes ), - (JSCompiler_object_inline_stack_3147 = workInProgress.child), - (JSCompiler_object_inline_stack_3147.memoizedState = + (JSCompiler_object_inline_stack_3149 = workInProgress.child), + (JSCompiler_object_inline_stack_3149.memoizedState = mountSuspenseOffscreenState(renderLanes)), - (JSCompiler_object_inline_stack_3147.childLanes = + (JSCompiler_object_inline_stack_3149.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_componentStack_3148, + JSCompiler_object_inline_componentStack_3150, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), @@ -10661,48 +10664,48 @@ else if ( (pushPrimaryTreeSuspenseHandler(workInProgress), warnIfHydrating(), - isSuspenseInstanceFallback(JSCompiler_object_inline_message_3145)) + isSuspenseInstanceFallback(JSCompiler_object_inline_message_3147)) ) { - JSCompiler_object_inline_componentStack_3148 = - JSCompiler_object_inline_message_3145.nextSibling && - JSCompiler_object_inline_message_3145.nextSibling.dataset; - if (JSCompiler_object_inline_componentStack_3148) { + JSCompiler_object_inline_componentStack_3150 = + JSCompiler_object_inline_message_3147.nextSibling && + JSCompiler_object_inline_message_3147.nextSibling.dataset; + if (JSCompiler_object_inline_componentStack_3150) { nextPrimaryChildren = - JSCompiler_object_inline_componentStack_3148.dgst; - var message = JSCompiler_object_inline_componentStack_3148.msg; + JSCompiler_object_inline_componentStack_3150.dgst; + var message = JSCompiler_object_inline_componentStack_3150.msg; nextFallbackChildren = - JSCompiler_object_inline_componentStack_3148.stck; + JSCompiler_object_inline_componentStack_3150.stck; var componentStack = - JSCompiler_object_inline_componentStack_3148.cstck; + JSCompiler_object_inline_componentStack_3150.cstck; } - JSCompiler_object_inline_message_3145 = message; - JSCompiler_object_inline_digest_3146 = nextPrimaryChildren; - JSCompiler_object_inline_stack_3147 = nextFallbackChildren; - JSCompiler_object_inline_componentStack_3148 = componentStack; - nextPrimaryChildren = JSCompiler_object_inline_digest_3146; - nextFallbackChildren = JSCompiler_object_inline_message_3145; - componentStack = JSCompiler_object_inline_componentStack_3148; + JSCompiler_object_inline_message_3147 = message; + JSCompiler_object_inline_digest_3148 = nextPrimaryChildren; + JSCompiler_object_inline_stack_3149 = nextFallbackChildren; + JSCompiler_object_inline_componentStack_3150 = componentStack; + nextPrimaryChildren = JSCompiler_object_inline_digest_3148; + nextFallbackChildren = JSCompiler_object_inline_message_3147; + componentStack = JSCompiler_object_inline_componentStack_3150; "POSTPONE" !== nextPrimaryChildren && - ((JSCompiler_object_inline_componentStack_3148 = + ((JSCompiler_object_inline_componentStack_3150 = nextFallbackChildren ? Error(nextFallbackChildren) : Error( "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering." )), - (JSCompiler_object_inline_componentStack_3148.stack = - JSCompiler_object_inline_stack_3147 || ""), - (JSCompiler_object_inline_componentStack_3148.digest = + (JSCompiler_object_inline_componentStack_3150.stack = + JSCompiler_object_inline_stack_3149 || ""), + (JSCompiler_object_inline_componentStack_3150.digest = nextPrimaryChildren), - (JSCompiler_object_inline_stack_3147 = + (JSCompiler_object_inline_stack_3149 = void 0 === componentStack ? null : componentStack), (nextPrimaryChildren = { - value: JSCompiler_object_inline_componentStack_3148, + value: JSCompiler_object_inline_componentStack_3150, source: null, - stack: JSCompiler_object_inline_stack_3147 + stack: JSCompiler_object_inline_stack_3149 }), - "string" === typeof JSCompiler_object_inline_stack_3147 && + "string" === typeof JSCompiler_object_inline_stack_3149 && CapturedStacks.set( - JSCompiler_object_inline_componentStack_3148, + JSCompiler_object_inline_componentStack_3150, nextPrimaryChildren ), queueHydrationError(nextPrimaryChildren)); @@ -10719,34 +10722,34 @@ renderLanes, !1 ), - (JSCompiler_object_inline_componentStack_3148 = + (JSCompiler_object_inline_componentStack_3150 = 0 !== (renderLanes & current.childLanes)), - didReceiveUpdate || JSCompiler_object_inline_componentStack_3148) + didReceiveUpdate || JSCompiler_object_inline_componentStack_3150) ) { - JSCompiler_object_inline_componentStack_3148 = workInProgressRoot; + JSCompiler_object_inline_componentStack_3150 = workInProgressRoot; if ( - null !== JSCompiler_object_inline_componentStack_3148 && - ((JSCompiler_object_inline_stack_3147 = getBumpedLaneForHydration( - JSCompiler_object_inline_componentStack_3148, + null !== JSCompiler_object_inline_componentStack_3150 && + ((JSCompiler_object_inline_stack_3149 = getBumpedLaneForHydration( + JSCompiler_object_inline_componentStack_3150, renderLanes )), - 0 !== JSCompiler_object_inline_stack_3147 && - JSCompiler_object_inline_stack_3147 !== prevState.retryLane) + 0 !== JSCompiler_object_inline_stack_3149 && + JSCompiler_object_inline_stack_3149 !== prevState.retryLane) ) throw ( - ((prevState.retryLane = JSCompiler_object_inline_stack_3147), + ((prevState.retryLane = JSCompiler_object_inline_stack_3149), enqueueConcurrentRenderForLane( current, - JSCompiler_object_inline_stack_3147 + JSCompiler_object_inline_stack_3149 ), scheduleUpdateOnFiber( - JSCompiler_object_inline_componentStack_3148, + JSCompiler_object_inline_componentStack_3150, current, - JSCompiler_object_inline_stack_3147 + JSCompiler_object_inline_stack_3149 ), SelectiveHydrationException) ); - isSuspenseInstancePending(JSCompiler_object_inline_message_3145) || + isSuspenseInstancePending(JSCompiler_object_inline_message_3147) || renderDidSuspendDelayIfPossible(); workInProgress = retrySuspenseComponentWithoutHydrating( current, @@ -10754,13 +10757,13 @@ renderLanes ); } else - isSuspenseInstancePending(JSCompiler_object_inline_message_3145) + isSuspenseInstancePending(JSCompiler_object_inline_message_3147) ? ((workInProgress.flags |= 192), (workInProgress.child = current.child), (workInProgress = null)) : ((current = prevState.treeContext), (nextHydratableInstance = getNextHydratable( - JSCompiler_object_inline_message_3145.nextSibling + JSCompiler_object_inline_message_3147.nextSibling )), (hydrationParentFiber = workInProgress), (isHydrating = !0), @@ -10772,31 +10775,31 @@ restoreSuspendedTreeContext(workInProgress, current), (workInProgress = mountSuspensePrimaryChildren( workInProgress, - JSCompiler_object_inline_stack_3147.children + JSCompiler_object_inline_stack_3149.children )), (workInProgress.flags |= 4096)); return workInProgress; } } - if (JSCompiler_object_inline_digest_3146) + if (JSCompiler_object_inline_digest_3148) return ( reuseSuspenseHandlerOnStack(workInProgress), - (nextPrimaryChildren = JSCompiler_object_inline_stack_3147.fallback), + (nextPrimaryChildren = JSCompiler_object_inline_stack_3149.fallback), (nextFallbackChildren = workInProgress.mode), (componentStack = current.child), - (JSCompiler_object_inline_message_3145 = componentStack.sibling), - (JSCompiler_object_inline_stack_3147 = createWorkInProgress( + (JSCompiler_object_inline_message_3147 = componentStack.sibling), + (JSCompiler_object_inline_stack_3149 = createWorkInProgress( componentStack, { mode: "hidden", - children: JSCompiler_object_inline_stack_3147.children + children: JSCompiler_object_inline_stack_3149.children } )), - (JSCompiler_object_inline_stack_3147.subtreeFlags = + (JSCompiler_object_inline_stack_3149.subtreeFlags = componentStack.subtreeFlags & 65011712), - null !== JSCompiler_object_inline_message_3145 + null !== JSCompiler_object_inline_message_3147 ? (nextPrimaryChildren = createWorkInProgress( - JSCompiler_object_inline_message_3145, + JSCompiler_object_inline_message_3147, nextPrimaryChildren )) : ((nextPrimaryChildren = createFiberFromFragment( @@ -10807,24 +10810,24 @@ )), (nextPrimaryChildren.flags |= 2)), (nextPrimaryChildren.return = workInProgress), - (JSCompiler_object_inline_stack_3147.return = workInProgress), - (JSCompiler_object_inline_stack_3147.sibling = nextPrimaryChildren), - (workInProgress.child = JSCompiler_object_inline_stack_3147), - (JSCompiler_object_inline_stack_3147 = nextPrimaryChildren), + (JSCompiler_object_inline_stack_3149.return = workInProgress), + (JSCompiler_object_inline_stack_3149.sibling = nextPrimaryChildren), + (workInProgress.child = JSCompiler_object_inline_stack_3149), + (JSCompiler_object_inline_stack_3149 = nextPrimaryChildren), (nextPrimaryChildren = workInProgress.child), (nextFallbackChildren = current.child.memoizedState), null === nextFallbackChildren ? (nextFallbackChildren = mountSuspenseOffscreenState(renderLanes)) : ((componentStack = nextFallbackChildren.cachePool), null !== componentStack - ? ((JSCompiler_object_inline_message_3145 = + ? ((JSCompiler_object_inline_message_3147 = CacheContext._currentValue), (componentStack = componentStack.parent !== - JSCompiler_object_inline_message_3145 + JSCompiler_object_inline_message_3147 ? { - parent: JSCompiler_object_inline_message_3145, - pool: JSCompiler_object_inline_message_3145 + parent: JSCompiler_object_inline_message_3147, + pool: JSCompiler_object_inline_message_3147 } : componentStack)) : (componentStack = getSuspendedCache()), @@ -10835,28 +10838,28 @@ (nextPrimaryChildren.memoizedState = nextFallbackChildren), (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_componentStack_3148, + JSCompiler_object_inline_componentStack_3150, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), - JSCompiler_object_inline_stack_3147 + JSCompiler_object_inline_stack_3149 ); pushPrimaryTreeSuspenseHandler(workInProgress); renderLanes = current.child; current = renderLanes.sibling; renderLanes = createWorkInProgress(renderLanes, { mode: "visible", - children: JSCompiler_object_inline_stack_3147.children + children: JSCompiler_object_inline_stack_3149.children }); renderLanes.return = workInProgress; renderLanes.sibling = null; null !== current && - ((JSCompiler_object_inline_componentStack_3148 = + ((JSCompiler_object_inline_componentStack_3150 = workInProgress.deletions), - null === JSCompiler_object_inline_componentStack_3148 + null === JSCompiler_object_inline_componentStack_3150 ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16)) - : JSCompiler_object_inline_componentStack_3148.push(current)); + : JSCompiler_object_inline_componentStack_3150.push(current)); workInProgress.child = renderLanes; workInProgress.memoizedState = null; return renderLanes; @@ -10965,21 +10968,30 @@ (workInProgress.flags |= 128)) : (suspenseContext &= SubtreeSuspenseContextMask); push(suspenseStackCursor, suspenseContext, workInProgress); + suspenseContext = null == revealOrder ? "null" : revealOrder; if ( - void 0 !== revealOrder && "forwards" !== revealOrder && - "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder && "together" !== revealOrder && - !didWarnAboutRevealOrder[revealOrder] + "independent" !== revealOrder && + !didWarnAboutRevealOrder[suspenseContext] ) if ( - ((didWarnAboutRevealOrder[revealOrder] = !0), - "string" === typeof revealOrder) + ((didWarnAboutRevealOrder[suspenseContext] = !0), null == revealOrder) ) + console.error( + 'The default for the prop is changing. To be future compatible you must explictly specify either "independent" (the current default), "together", "forwards" or "legacy_unstable-backwards".' + ); + else if ("backwards" === revealOrder) + console.error( + 'The rendering order of is changing. To be future compatible you must specify revealOrder="legacy_unstable-backwards" instead.' + ); + else if ("string" === typeof revealOrder) switch (revealOrder.toLowerCase()) { case "together": case "forwards": case "backwards": + case "independent": console.error( '"%s" is not a valid value for revealOrder on . Use lowercase "%s" instead.', revealOrder, @@ -10996,32 +11008,48 @@ break; default: console.error( - '"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '"%s" is not a supported revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); } else console.error( - '%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '%s is not a supported value for revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); - void 0 === tailMode || - didWarnAboutTailOptions[tailMode] || - ("collapsed" !== tailMode && "hidden" !== tailMode - ? ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - '"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?', - tailMode - )) - : "forwards" !== revealOrder && - "backwards" !== revealOrder && - ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', - tailMode - ))); + suspenseContext = null == tailMode ? "null" : tailMode; + if (!didWarnAboutTailOptions[suspenseContext]) + if (null == tailMode) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) + (didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + 'The default for the prop is changing. To be future compatible you must explictly specify either "visible" (the current default), "collapsed" or "hidden".' + ); + } else + "visible" !== tailMode && + "collapsed" !== tailMode && + "hidden" !== tailMode + ? ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + '"%s" is not a supported value for tail on . Did you mean "visible", "collapsed" or "hidden"?', + tailMode + )) + : "forwards" !== revealOrder && + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder && + ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', + tailMode + )); a: if ( - ("forwards" === revealOrder || "backwards" === revealOrder) && + ("forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && !1 !== nextProps @@ -11119,6 +11147,7 @@ ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -30654,11 +30683,11 @@ }; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.2.0-experimental-14094f80-20250529" !== isomorphicReactPackageVersion) + if ("19.2.0-experimental-37054867-20250604" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.2.0-experimental-14094f80-20250529\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.2.0-experimental-37054867-20250604\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -30695,10 +30724,10 @@ !(function () { var internals = { bundleType: 1, - version: "19.2.0-experimental-14094f80-20250529", + version: "19.2.0-experimental-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-experimental-14094f80-20250529" + reconcilerVersion: "19.2.0-experimental-37054867-20250604" }; internals.overrideHookState = overrideHookState; internals.overrideHookStateDeletePath = overrideHookStateDeletePath; @@ -31174,7 +31203,7 @@ exports.useFormStatus = function () { return resolveDispatcher().useHostTransitionStatus(); }; - exports.version = "19.2.0-experimental-14094f80-20250529"; + exports.version = "19.2.0-experimental-37054867-20250604"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js index 3502cb5e8a981..2f69f4ecbf9ee 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js @@ -2476,7 +2476,7 @@ function getViewTransitionName(props, instance) { if (null !== instance.autoName) return instance.autoName; props = pendingEffectsRoot.identifierPrefix; var globalClientId = globalClientIdCounter$1++; - props = "\u00ab" + props + "t" + globalClientId.toString(32) + "\u00bb"; + props = "_" + props + "t_" + globalClientId.toString(32) + "_"; return (instance.autoName = props); } function getClassNameByType(classByType) { @@ -5020,7 +5020,13 @@ function findFirstSuspended(row) { isSuspenseInstanceFallback(state)) ) return node; - } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { + } else if ( + 19 === node.tag && + ("forwards" === node.memoizedProps.revealOrder || + "backwards" === node.memoizedProps.revealOrder || + "unstable_legacy-backwards" === node.memoizedProps.revealOrder || + "together" === node.memoizedProps.revealOrder) + ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { node.child.return = node; @@ -6417,19 +6423,19 @@ var HooksDispatcherOnMount = { idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + JSCompiler_inline_result; identifierPrefix = - "\u00ab" + identifierPrefix + "R" + JSCompiler_inline_result; + "_" + identifierPrefix + "R_" + JSCompiler_inline_result; JSCompiler_inline_result = localIdCounter++; 0 < JSCompiler_inline_result && (identifierPrefix += "H" + JSCompiler_inline_result.toString(32)); - identifierPrefix += "\u00bb"; + identifierPrefix += "_"; } else (JSCompiler_inline_result = globalClientIdCounter++), (identifierPrefix = - "\u00ab" + + "_" + identifierPrefix + - "r" + + "r_" + JSCompiler_inline_result.toString(32) + - "\u00bb"); + "_"); return (hook.memoizedState = identifierPrefix); }, useHostTransitionStatus: useHostTransitionStatus, @@ -7950,6 +7956,7 @@ function updateSuspenseListComponent(current, workInProgress, renderLanes) { ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -20787,14 +20794,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) { }; var isomorphicReactPackageVersion$jscomp$inline_2400 = React.version; if ( - "19.2.0-experimental-14094f80-20250529" !== + "19.2.0-experimental-37054867-20250604" !== isomorphicReactPackageVersion$jscomp$inline_2400 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_2400, - "19.2.0-experimental-14094f80-20250529" + "19.2.0-experimental-37054867-20250604" ) ); ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { @@ -20816,10 +20823,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { }; var internals$jscomp$inline_3087 = { bundleType: 0, - version: "19.2.0-experimental-14094f80-20250529", + version: "19.2.0-experimental-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-experimental-14094f80-20250529" + reconcilerVersion: "19.2.0-experimental-37054867-20250604" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_3088 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -21086,7 +21093,7 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.2.0-experimental-14094f80-20250529"; +exports.version = "19.2.0-experimental-37054867-20250604"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js index c4b78c004af4f..d77a7d1f2cddb 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js @@ -907,9 +907,9 @@ ); } function makeId(resumableState, treeId, localId) { - resumableState = "\u00ab" + resumableState.idPrefix + "R" + treeId; + resumableState = "_" + resumableState.idPrefix + "R_" + treeId; 0 < localId && (resumableState += "H" + localId.toString(32)); - return resumableState + "\u00bb"; + return resumableState + "_"; } function pushViewTransitionAttributes(target, formatContext) { formatContext = formatContext.viewTransition; @@ -3283,7 +3283,7 @@ function writeCompletedShellIdAttribute(destination, resumableState) { (resumableState.instructions & SentCompletedShellId) === NothingSent && ((resumableState.instructions |= SentCompletedShellId), - (resumableState = "\u00ab" + resumableState.idPrefix + "R\u00bb"), + (resumableState = "_" + resumableState.idPrefix + "R_"), destination.push(completedShellIdAttributeStart), (resumableState = escapeTextForBrowser(resumableState)), destination.push(resumableState), @@ -3294,7 +3294,7 @@ ((resumableState.instructions |= SentCompletedShellId), target.push( completedShellIdAttributeStart, - escapeTextForBrowser("\u00ab" + resumableState.idPrefix + "R\u00bb"), + escapeTextForBrowser("_" + resumableState.idPrefix + "R_"), attributeEnd )); } @@ -5140,7 +5140,11 @@ var resumeSlots = task.replay.slots; if (null !== resumeSlots && "object" === typeof resumeSlots) for (var n = 0; n < keyPath; n++) { - var i = "backwards" !== revealOrder ? n : keyPath - 1 - n, + var i = + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ? n + : keyPath - 1 - n, node = rows[i]; task.row = previousSuspenseListRow = createSuspenseListRow( previousSuspenseListRow @@ -5157,7 +5161,8 @@ else for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++) (n = - "backwards" !== revealOrder + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots), (i = rows[n]), @@ -5168,7 +5173,10 @@ renderNode(request, task, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow); - } else if ("backwards" !== revealOrder) + } else if ( + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ) for (revealOrder = 0; revealOrder < keyPath; revealOrder++) (resumeSlots = rows[revealOrder]), warnForMissingKey(request, task, resumeSlots), @@ -5896,7 +5904,11 @@ a: { var children$jscomp$0 = props.children, revealOrder = props.revealOrder; - if ("forwards" === revealOrder || "backwards" === revealOrder) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) { if (isArrayImpl(children$jscomp$0)) { renderSuspenseListRows( request, @@ -8453,7 +8465,7 @@ renderState.bulkPreloads.forEach(flushResource, destination); renderState.bulkPreloads.clear(); if (htmlChunks || headChunks) { - var shellId = "\u00ab" + resumableState.idPrefix + "R\u00bb"; + var shellId = "_" + resumableState.idPrefix + "R_"; destination.push(blockingRenderChunkStart); var chunk$jscomp$0 = escapeTextForBrowser(shellId); destination.push(chunk$jscomp$0); @@ -8816,7 +8828,17 @@ : reason; request.fatalError = error; abortableTasks.forEach(function (task) { - return abortTask(task, request, error); + var prevTaskInDEV = currentTaskInDEV, + prevGetCurrentStackImpl = ReactSharedInternals.getCurrentStack; + currentTaskInDEV = task; + ReactSharedInternals.getCurrentStack = getCurrentStackInDEV; + try { + abortTask(task, request, error); + } finally { + (currentTaskInDEV = prevTaskInDEV), + (ReactSharedInternals.getCurrentStack = + prevGetCurrentStackImpl); + } }); abortableTasks.clear(); } @@ -10061,7 +10083,7 @@ completeBoundaryScriptFunctionOnly = '$RB=[];$RV=function(c){$RT=performance.now();for(var a=0;a'); @@ -7195,13 +7207,13 @@ function addToReplayParent(node, parentKeyPath, trackedPostpones) { } var isomorphicReactPackageVersion$jscomp$inline_865 = React.version; if ( - "19.2.0-experimental-14094f80-20250529" !== + "19.2.0-experimental-37054867-20250604" !== isomorphicReactPackageVersion$jscomp$inline_865 ) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion$jscomp$inline_865 + - "\n - react-dom: 19.2.0-experimental-14094f80-20250529\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.2.0-experimental-37054867-20250604\nLearn more: https://react.dev/warnings/version-mismatch") ); exports.renderToReadableStream = function (children, options) { return new Promise(function (resolve, reject) { @@ -7292,4 +7304,4 @@ exports.renderToReadableStream = function (children, options) { startWork(request); }); }; -exports.version = "19.2.0-experimental-14094f80-20250529"; +exports.version = "19.2.0-experimental-37054867-20250604"; diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.development.js index 8dbbdfc5b2bd4..67eeb5dccef7b 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server.edge.development.js @@ -1236,9 +1236,9 @@ ); } function makeId(resumableState, treeId, localId) { - resumableState = "\u00ab" + resumableState.idPrefix + "R" + treeId; + resumableState = "_" + resumableState.idPrefix + "R_" + treeId; 0 < localId && (resumableState += "H" + localId.toString(32)); - return resumableState + "\u00bb"; + return resumableState + "_"; } function pushTextInstance(target, text, renderState, textEmbedded) { if ("" === text) return textEmbedded; @@ -3658,7 +3658,7 @@ function writeCompletedShellIdAttribute(destination, resumableState) { (resumableState.instructions & SentCompletedShellId) === NothingSent && ((resumableState.instructions |= SentCompletedShellId), - (resumableState = "\u00ab" + resumableState.idPrefix + "R\u00bb"), + (resumableState = "_" + resumableState.idPrefix + "R_"), writeChunk(destination, completedShellIdAttributeStart), writeChunk( destination, @@ -3672,7 +3672,7 @@ target.push( completedShellIdAttributeStart, stringToChunk( - escapeTextForBrowser("\u00ab" + resumableState.idPrefix + "R\u00bb") + escapeTextForBrowser("_" + resumableState.idPrefix + "R_") ), attributeEnd )); @@ -5540,7 +5540,11 @@ var resumeSlots = task.replay.slots; if (null !== resumeSlots && "object" === typeof resumeSlots) for (var n = 0; n < keyPath; n++) { - var i = "backwards" !== revealOrder ? n : keyPath - 1 - n, + var i = + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ? n + : keyPath - 1 - n, node = rows[i]; task.row = previousSuspenseListRow = createSuspenseListRow( previousSuspenseListRow @@ -5557,7 +5561,8 @@ else for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++) (n = - "backwards" !== revealOrder + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots), (i = rows[n]), @@ -5568,7 +5573,10 @@ renderNode(request, task, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow); - } else if ("backwards" !== revealOrder) + } else if ( + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ) for (revealOrder = 0; revealOrder < keyPath; revealOrder++) (resumeSlots = rows[revealOrder]), warnForMissingKey(request, task, resumeSlots), @@ -6292,7 +6300,11 @@ a: { var children$jscomp$0 = props.children, revealOrder = props.revealOrder; - if ("forwards" === revealOrder || "backwards" === revealOrder) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) { if (isArrayImpl(children$jscomp$0)) { renderSuspenseListRows( request, @@ -8927,7 +8939,7 @@ renderState.bulkPreloads.forEach(flushResource, destination); renderState.bulkPreloads.clear(); if (htmlChunks || headChunks) { - var shellId = "\u00ab" + resumableState.idPrefix + "R\u00bb"; + var shellId = "_" + resumableState.idPrefix + "R_"; writeChunk(destination, blockingRenderChunkStart); writeChunk( destination, @@ -9331,7 +9343,17 @@ : reason; request.fatalError = error; abortableTasks.forEach(function (task) { - return abortTask(task, request, error); + var prevTaskInDEV = currentTaskInDEV, + prevGetCurrentStackImpl = ReactSharedInternals.getCurrentStack; + currentTaskInDEV = task; + ReactSharedInternals.getCurrentStack = getCurrentStackInDEV; + try { + abortTask(task, request, error); + } finally { + (currentTaskInDEV = prevTaskInDEV), + (ReactSharedInternals.getCurrentStack = + prevGetCurrentStackImpl); + } }); abortableTasks.clear(); } @@ -9401,11 +9423,11 @@ } function ensureCorrectIsomorphicReactVersion() { var isomorphicReactPackageVersion = React.version; - if ("19.2.0-experimental-14094f80-20250529" !== isomorphicReactPackageVersion) + if ("19.2.0-experimental-37054867-20250604" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.2.0-experimental-14094f80-20250529\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.2.0-experimental-37054867-20250604\nLearn more: https://react.dev/warnings/version-mismatch") ); } var React = require("next/dist/compiled/react-experimental"), @@ -10647,7 +10669,7 @@ ), completeBoundaryUpgradeToViewTransitionsInstruction = stringToPrecomputedChunk( - '$RV=function(w,f){function h(a,d){var k=a.getAttribute(d);k&&(d=a.style,l.push(a,d.viewTransitionName,d.viewTransitionClass),"auto"!==k&&(d.viewTransitionClass=k),(a=a.getAttribute("vt-name"))||(a="\\u00abT"+F++ +"\\u00bb"),d.viewTransitionName=a,x=!0)}var x=!1,F=0,l=[];try{var e=document.__reactViewTransition;if(e){e.finished.finally($RV.bind(null,f));return}var m=new Map;for(e=1;e prop is changing. To be future compatible you must explictly specify either "independent" (the current default), "together", "forwards" or "legacy_unstable-backwards".' + ); + else if ("backwards" === revealOrder) + console.error( + 'The rendering order of is changing. To be future compatible you must specify revealOrder="legacy_unstable-backwards" instead.' + ); + else if ("string" === typeof revealOrder) switch (revealOrder.toLowerCase()) { case "together": case "forwards": case "backwards": + case "independent": console.error( '"%s" is not a valid value for revealOrder on . Use lowercase "%s" instead.', revealOrder, @@ -11029,32 +11041,48 @@ break; default: console.error( - '"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '"%s" is not a supported revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); } else console.error( - '%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '%s is not a supported value for revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); - void 0 === tailMode || - didWarnAboutTailOptions[tailMode] || - ("collapsed" !== tailMode && "hidden" !== tailMode - ? ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - '"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?', - tailMode - )) - : "forwards" !== revealOrder && - "backwards" !== revealOrder && - ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', - tailMode - ))); + suspenseContext = null == tailMode ? "null" : tailMode; + if (!didWarnAboutTailOptions[suspenseContext]) + if (null == tailMode) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) + (didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + 'The default for the prop is changing. To be future compatible you must explictly specify either "visible" (the current default), "collapsed" or "hidden".' + ); + } else + "visible" !== tailMode && + "collapsed" !== tailMode && + "hidden" !== tailMode + ? ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + '"%s" is not a supported value for tail on . Did you mean "visible", "collapsed" or "hidden"?', + tailMode + )) + : "forwards" !== revealOrder && + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder && + ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', + tailMode + )); a: if ( - ("forwards" === revealOrder || "backwards" === revealOrder) && + ("forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && !1 !== nextProps @@ -11152,6 +11180,7 @@ ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -30923,11 +30952,11 @@ }; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.2.0-experimental-14094f80-20250529" !== isomorphicReactPackageVersion) + if ("19.2.0-experimental-37054867-20250604" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.2.0-experimental-14094f80-20250529\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.2.0-experimental-37054867-20250604\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -30964,10 +30993,10 @@ !(function () { var internals = { bundleType: 1, - version: "19.2.0-experimental-14094f80-20250529", + version: "19.2.0-experimental-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-experimental-14094f80-20250529" + reconcilerVersion: "19.2.0-experimental-37054867-20250604" }; internals.overrideHookState = overrideHookState; internals.overrideHookStateDeletePath = overrideHookStateDeletePath; @@ -31279,5 +31308,5 @@ } }; }; - exports.version = "19.2.0-experimental-14094f80-20250529"; + exports.version = "19.2.0-experimental-37054867-20250604"; })(); diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js index 5003915e6893a..b4727f94a22e2 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js @@ -2467,7 +2467,7 @@ function getViewTransitionName(props, instance) { if (null !== instance.autoName) return instance.autoName; props = pendingEffectsRoot.identifierPrefix; var globalClientId = globalClientIdCounter$1++; - props = "\u00ab" + props + "t" + globalClientId.toString(32) + "\u00bb"; + props = "_" + props + "t_" + globalClientId.toString(32) + "_"; return (instance.autoName = props); } function getClassNameByType(classByType) { @@ -4696,7 +4696,13 @@ function findFirstSuspended(row) { isSuspenseInstanceFallback(state)) ) return node; - } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { + } else if ( + 19 === node.tag && + ("forwards" === node.memoizedProps.revealOrder || + "backwards" === node.memoizedProps.revealOrder || + "unstable_legacy-backwards" === node.memoizedProps.revealOrder || + "together" === node.memoizedProps.revealOrder) + ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { node.child.return = node; @@ -6088,19 +6094,19 @@ var HooksDispatcherOnMount = { idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + JSCompiler_inline_result; identifierPrefix = - "\u00ab" + identifierPrefix + "R" + JSCompiler_inline_result; + "_" + identifierPrefix + "R_" + JSCompiler_inline_result; JSCompiler_inline_result = localIdCounter++; 0 < JSCompiler_inline_result && (identifierPrefix += "H" + JSCompiler_inline_result.toString(32)); - identifierPrefix += "\u00bb"; + identifierPrefix += "_"; } else (JSCompiler_inline_result = globalClientIdCounter++), (identifierPrefix = - "\u00ab" + + "_" + identifierPrefix + - "r" + + "r_" + JSCompiler_inline_result.toString(32) + - "\u00bb"); + "_"); return (hook.memoizedState = identifierPrefix); }, useHostTransitionStatus: useHostTransitionStatus, @@ -7618,6 +7624,7 @@ function updateSuspenseListComponent(current, workInProgress, renderLanes) { ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -19448,14 +19455,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) { }; var isomorphicReactPackageVersion$jscomp$inline_2209 = React.version; if ( - "19.2.0-experimental-14094f80-20250529" !== + "19.2.0-experimental-37054867-20250604" !== isomorphicReactPackageVersion$jscomp$inline_2209 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_2209, - "19.2.0-experimental-14094f80-20250529" + "19.2.0-experimental-37054867-20250604" ) ); ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { @@ -19477,10 +19484,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { }; var internals$jscomp$inline_2899 = { bundleType: 0, - version: "19.2.0-experimental-14094f80-20250529", + version: "19.2.0-experimental-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-experimental-14094f80-20250529" + reconcilerVersion: "19.2.0-experimental-37054867-20250604" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_2900 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -19738,4 +19745,4 @@ exports.observeVisibleRects = function ( } }; }; -exports.version = "19.2.0-experimental-14094f80-20250529"; +exports.version = "19.2.0-experimental-37054867-20250604"; diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.development.js index 5ede7556d46f3..c674aadf9934c 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.development.js @@ -416,7 +416,7 @@ exports.useFormStatus = function () { return resolveDispatcher().useHostTransitionStatus(); }; - exports.version = "19.2.0-experimental-14094f80-20250529"; + exports.version = "19.2.0-experimental-37054867-20250604"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.production.js index 9f6ba9c1f84eb..d5999fdf37388 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.production.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.production.js @@ -207,4 +207,4 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.2.0-experimental-14094f80-20250529"; +exports.version = "19.2.0-experimental-37054867-20250604"; diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.development.js index aeaa34631b89b..313f676db92fa 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.development.js @@ -336,5 +336,5 @@ })) : Internals.d.m(href)); }; - exports.version = "19.2.0-experimental-14094f80-20250529"; + exports.version = "19.2.0-experimental-37054867-20250604"; })(); diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.production.js index 95bee41dc95a1..c18fbbd98ed73 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.production.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom.react-server.production.js @@ -149,4 +149,4 @@ exports.preloadModule = function (href, options) { }); } else Internals.d.m(href); }; -exports.version = "19.2.0-experimental-14094f80-20250529"; +exports.version = "19.2.0-experimental-37054867-20250604"; diff --git a/packages/next/src/compiled/react-dom-experimental/package.json b/packages/next/src/compiled/react-dom-experimental/package.json index cacd548b18fb1..adae8a674d24b 100644 --- a/packages/next/src/compiled/react-dom-experimental/package.json +++ b/packages/next/src/compiled/react-dom-experimental/package.json @@ -72,10 +72,10 @@ "./package.json": "./package.json" }, "dependencies": { - "scheduler": "0.0.0-experimental-14094f80-20250529" + "scheduler": "0.0.0-experimental-37054867-20250604" }, "peerDependencies": { - "react": "0.0.0-experimental-14094f80-20250529" + "react": "0.0.0-experimental-37054867-20250604" }, "browser": { "./server.js": "./server.browser.js", diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-client.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-client.development.js index b2714f4363a99..1cacf51cb7360 100644 --- a/packages/next/src/compiled/react-dom/cjs/react-dom-client.development.js +++ b/packages/next/src/compiled/react-dom/cjs/react-dom-client.development.js @@ -6597,7 +6597,10 @@ return node; } else if ( 19 === node.tag && - void 0 !== node.memoizedProps.revealOrder + ("forwards" === node.memoizedProps.revealOrder || + "backwards" === node.memoizedProps.revealOrder || + "unstable_legacy-backwards" === node.memoizedProps.revealOrder || + "together" === node.memoizedProps.revealOrder) ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { @@ -8086,14 +8089,14 @@ ( idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + treeId; - identifierPrefix = "\u00ab" + identifierPrefix + "R" + treeId; + identifierPrefix = "_" + identifierPrefix + "R_" + treeId; treeId = localIdCounter++; 0 < treeId && (identifierPrefix += "H" + treeId.toString(32)); - identifierPrefix += "\u00bb"; + identifierPrefix += "_"; } else (treeId = globalClientIdCounter++), (identifierPrefix = - "\u00ab" + identifierPrefix + "r" + treeId.toString(32) + "\u00bb"); + "_" + identifierPrefix + "r_" + treeId.toString(32) + "_"); return (hook.memoizedState = identifierPrefix); } function mountRefresh() { @@ -9699,24 +9702,24 @@ return current; } function updateSuspenseComponent(current, workInProgress, renderLanes) { - var JSCompiler_object_inline_digest_2545; - var JSCompiler_object_inline_stack_2546 = workInProgress.pendingProps; + var JSCompiler_object_inline_digest_2547; + var JSCompiler_object_inline_stack_2548 = workInProgress.pendingProps; shouldSuspendImpl(workInProgress) && (workInProgress.flags |= 128); - var JSCompiler_object_inline_message_2544 = !1; + var JSCompiler_object_inline_message_2546 = !1; var didSuspend = 0 !== (workInProgress.flags & 128); - (JSCompiler_object_inline_digest_2545 = didSuspend) || - (JSCompiler_object_inline_digest_2545 = + (JSCompiler_object_inline_digest_2547 = didSuspend) || + (JSCompiler_object_inline_digest_2547 = null !== current && null === current.memoizedState ? !1 : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback)); - JSCompiler_object_inline_digest_2545 && - ((JSCompiler_object_inline_message_2544 = !0), + JSCompiler_object_inline_digest_2547 && + ((JSCompiler_object_inline_message_2546 = !0), (workInProgress.flags &= -129)); - JSCompiler_object_inline_digest_2545 = 0 !== (workInProgress.flags & 32); + JSCompiler_object_inline_digest_2547 = 0 !== (workInProgress.flags & 32); workInProgress.flags &= -33; if (null === current) { if (isHydrating) { - JSCompiler_object_inline_message_2544 + JSCompiler_object_inline_message_2546 ? pushPrimaryTreeSuspenseHandler(workInProgress) : reuseSuspenseHandlerOnStack(workInProgress); (current = nextHydratableInstance) @@ -9729,18 +9732,18 @@ ? renderLanes : null), null !== renderLanes && - ((JSCompiler_object_inline_digest_2545 = { + ((JSCompiler_object_inline_digest_2547 = { dehydrated: renderLanes, treeContext: getSuspendedTreeContext(), retryLane: 536870912, hydrationErrors: null }), (workInProgress.memoizedState = - JSCompiler_object_inline_digest_2545), - (JSCompiler_object_inline_digest_2545 = + JSCompiler_object_inline_digest_2547), + (JSCompiler_object_inline_digest_2547 = createFiberFromDehydratedFragment(renderLanes)), - (JSCompiler_object_inline_digest_2545.return = workInProgress), - (workInProgress.child = JSCompiler_object_inline_digest_2545), + (JSCompiler_object_inline_digest_2547.return = workInProgress), + (workInProgress.child = JSCompiler_object_inline_digest_2547), (hydrationParentFiber = workInProgress), (nextHydratableInstance = null))) : (renderLanes = null); @@ -9754,36 +9757,36 @@ : (workInProgress.lanes = 536870912); return null; } - var nextPrimaryChildren = JSCompiler_object_inline_stack_2546.children; - JSCompiler_object_inline_stack_2546 = - JSCompiler_object_inline_stack_2546.fallback; - if (JSCompiler_object_inline_message_2544) { + var nextPrimaryChildren = JSCompiler_object_inline_stack_2548.children; + JSCompiler_object_inline_stack_2548 = + JSCompiler_object_inline_stack_2548.fallback; + if (JSCompiler_object_inline_message_2546) { reuseSuspenseHandlerOnStack(workInProgress); var mode = workInProgress.mode; nextPrimaryChildren = mountWorkInProgressOffscreenFiber( { mode: "hidden", children: nextPrimaryChildren }, mode ); - JSCompiler_object_inline_stack_2546 = createFiberFromFragment( - JSCompiler_object_inline_stack_2546, + JSCompiler_object_inline_stack_2548 = createFiberFromFragment( + JSCompiler_object_inline_stack_2548, mode, renderLanes, null ); nextPrimaryChildren.return = workInProgress; - JSCompiler_object_inline_stack_2546.return = workInProgress; - nextPrimaryChildren.sibling = JSCompiler_object_inline_stack_2546; + JSCompiler_object_inline_stack_2548.return = workInProgress; + nextPrimaryChildren.sibling = JSCompiler_object_inline_stack_2548; workInProgress.child = nextPrimaryChildren; nextPrimaryChildren = workInProgress.child; nextPrimaryChildren.memoizedState = mountSuspenseOffscreenState(renderLanes); nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_digest_2545, + JSCompiler_object_inline_digest_2547, renderLanes ); workInProgress.memoizedState = SUSPENDED_MARKER; - return JSCompiler_object_inline_stack_2546; + return JSCompiler_object_inline_stack_2548; } pushPrimaryTreeSuspenseHandler(workInProgress); return mountSuspensePrimaryChildren( @@ -9793,8 +9796,8 @@ } var prevState = current.memoizedState; if (null !== prevState) { - var JSCompiler_object_inline_componentStack_2547 = prevState.dehydrated; - if (null !== JSCompiler_object_inline_componentStack_2547) { + var JSCompiler_object_inline_componentStack_2549 = prevState.dehydrated; + if (null !== JSCompiler_object_inline_componentStack_2549) { if (didSuspend) workInProgress.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress), @@ -9811,13 +9814,13 @@ (workInProgress = null)) : (reuseSuspenseHandlerOnStack(workInProgress), (nextPrimaryChildren = - JSCompiler_object_inline_stack_2546.fallback), + JSCompiler_object_inline_stack_2548.fallback), (mode = workInProgress.mode), - (JSCompiler_object_inline_stack_2546 = + (JSCompiler_object_inline_stack_2548 = mountWorkInProgressOffscreenFiber( { mode: "visible", - children: JSCompiler_object_inline_stack_2546.children + children: JSCompiler_object_inline_stack_2548.children }, mode )), @@ -9828,24 +9831,24 @@ null )), (nextPrimaryChildren.flags |= 2), - (JSCompiler_object_inline_stack_2546.return = workInProgress), + (JSCompiler_object_inline_stack_2548.return = workInProgress), (nextPrimaryChildren.return = workInProgress), - (JSCompiler_object_inline_stack_2546.sibling = + (JSCompiler_object_inline_stack_2548.sibling = nextPrimaryChildren), - (workInProgress.child = JSCompiler_object_inline_stack_2546), + (workInProgress.child = JSCompiler_object_inline_stack_2548), reconcileChildFibers( workInProgress, current.child, null, renderLanes ), - (JSCompiler_object_inline_stack_2546 = workInProgress.child), - (JSCompiler_object_inline_stack_2546.memoizedState = + (JSCompiler_object_inline_stack_2548 = workInProgress.child), + (JSCompiler_object_inline_stack_2548.memoizedState = mountSuspenseOffscreenState(renderLanes)), - (JSCompiler_object_inline_stack_2546.childLanes = + (JSCompiler_object_inline_stack_2548.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_digest_2545, + JSCompiler_object_inline_digest_2547, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), @@ -9854,45 +9857,45 @@ (pushPrimaryTreeSuspenseHandler(workInProgress), warnIfHydrating(), isSuspenseInstanceFallback( - JSCompiler_object_inline_componentStack_2547 + JSCompiler_object_inline_componentStack_2549 )) ) { - JSCompiler_object_inline_digest_2545 = - JSCompiler_object_inline_componentStack_2547.nextSibling && - JSCompiler_object_inline_componentStack_2547.nextSibling.dataset; - if (JSCompiler_object_inline_digest_2545) { - nextPrimaryChildren = JSCompiler_object_inline_digest_2545.dgst; - var message = JSCompiler_object_inline_digest_2545.msg; - mode = JSCompiler_object_inline_digest_2545.stck; - var componentStack = JSCompiler_object_inline_digest_2545.cstck; + JSCompiler_object_inline_digest_2547 = + JSCompiler_object_inline_componentStack_2549.nextSibling && + JSCompiler_object_inline_componentStack_2549.nextSibling.dataset; + if (JSCompiler_object_inline_digest_2547) { + nextPrimaryChildren = JSCompiler_object_inline_digest_2547.dgst; + var message = JSCompiler_object_inline_digest_2547.msg; + mode = JSCompiler_object_inline_digest_2547.stck; + var componentStack = JSCompiler_object_inline_digest_2547.cstck; } - JSCompiler_object_inline_message_2544 = message; - JSCompiler_object_inline_digest_2545 = nextPrimaryChildren; - JSCompiler_object_inline_stack_2546 = mode; - JSCompiler_object_inline_componentStack_2547 = componentStack; - nextPrimaryChildren = JSCompiler_object_inline_message_2544; - mode = JSCompiler_object_inline_componentStack_2547; + JSCompiler_object_inline_message_2546 = message; + JSCompiler_object_inline_digest_2547 = nextPrimaryChildren; + JSCompiler_object_inline_stack_2548 = mode; + JSCompiler_object_inline_componentStack_2549 = componentStack; + nextPrimaryChildren = JSCompiler_object_inline_message_2546; + mode = JSCompiler_object_inline_componentStack_2549; nextPrimaryChildren = nextPrimaryChildren ? Error(nextPrimaryChildren) : Error( "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering." ); nextPrimaryChildren.stack = - JSCompiler_object_inline_stack_2546 || ""; - nextPrimaryChildren.digest = JSCompiler_object_inline_digest_2545; - JSCompiler_object_inline_digest_2545 = + JSCompiler_object_inline_stack_2548 || ""; + nextPrimaryChildren.digest = JSCompiler_object_inline_digest_2547; + JSCompiler_object_inline_digest_2547 = void 0 === mode ? null : mode; - JSCompiler_object_inline_stack_2546 = { + JSCompiler_object_inline_stack_2548 = { value: nextPrimaryChildren, source: null, - stack: JSCompiler_object_inline_digest_2545 + stack: JSCompiler_object_inline_digest_2547 }; - "string" === typeof JSCompiler_object_inline_digest_2545 && + "string" === typeof JSCompiler_object_inline_digest_2547 && CapturedStacks.set( nextPrimaryChildren, - JSCompiler_object_inline_stack_2546 + JSCompiler_object_inline_stack_2548 ); - queueHydrationError(JSCompiler_object_inline_stack_2546); + queueHydrationError(JSCompiler_object_inline_stack_2548); workInProgress = retrySuspenseComponentWithoutHydrating( current, workInProgress, @@ -9906,35 +9909,35 @@ renderLanes, !1 ), - (JSCompiler_object_inline_digest_2545 = + (JSCompiler_object_inline_digest_2547 = 0 !== (renderLanes & current.childLanes)), - didReceiveUpdate || JSCompiler_object_inline_digest_2545) + didReceiveUpdate || JSCompiler_object_inline_digest_2547) ) { - JSCompiler_object_inline_digest_2545 = workInProgressRoot; + JSCompiler_object_inline_digest_2547 = workInProgressRoot; if ( - null !== JSCompiler_object_inline_digest_2545 && - ((JSCompiler_object_inline_stack_2546 = getBumpedLaneForHydration( - JSCompiler_object_inline_digest_2545, + null !== JSCompiler_object_inline_digest_2547 && + ((JSCompiler_object_inline_stack_2548 = getBumpedLaneForHydration( + JSCompiler_object_inline_digest_2547, renderLanes )), - 0 !== JSCompiler_object_inline_stack_2546 && - JSCompiler_object_inline_stack_2546 !== prevState.retryLane) + 0 !== JSCompiler_object_inline_stack_2548 && + JSCompiler_object_inline_stack_2548 !== prevState.retryLane) ) throw ( - ((prevState.retryLane = JSCompiler_object_inline_stack_2546), + ((prevState.retryLane = JSCompiler_object_inline_stack_2548), enqueueConcurrentRenderForLane( current, - JSCompiler_object_inline_stack_2546 + JSCompiler_object_inline_stack_2548 ), scheduleUpdateOnFiber( - JSCompiler_object_inline_digest_2545, + JSCompiler_object_inline_digest_2547, current, - JSCompiler_object_inline_stack_2546 + JSCompiler_object_inline_stack_2548 ), SelectiveHydrationException) ); isSuspenseInstancePending( - JSCompiler_object_inline_componentStack_2547 + JSCompiler_object_inline_componentStack_2549 ) || renderDidSuspendDelayIfPossible(); workInProgress = retrySuspenseComponentWithoutHydrating( current, @@ -9943,14 +9946,14 @@ ); } else isSuspenseInstancePending( - JSCompiler_object_inline_componentStack_2547 + JSCompiler_object_inline_componentStack_2549 ) ? ((workInProgress.flags |= 192), (workInProgress.child = current.child), (workInProgress = null)) : ((current = prevState.treeContext), (nextHydratableInstance = getNextHydratable( - JSCompiler_object_inline_componentStack_2547.nextSibling + JSCompiler_object_inline_componentStack_2549.nextSibling )), (hydrationParentFiber = workInProgress), (isHydrating = !0), @@ -9962,32 +9965,32 @@ restoreSuspendedTreeContext(workInProgress, current), (workInProgress = mountSuspensePrimaryChildren( workInProgress, - JSCompiler_object_inline_stack_2546.children + JSCompiler_object_inline_stack_2548.children )), (workInProgress.flags |= 4096)); return workInProgress; } } - if (JSCompiler_object_inline_message_2544) + if (JSCompiler_object_inline_message_2546) return ( reuseSuspenseHandlerOnStack(workInProgress), - (nextPrimaryChildren = JSCompiler_object_inline_stack_2546.fallback), + (nextPrimaryChildren = JSCompiler_object_inline_stack_2548.fallback), (mode = workInProgress.mode), (componentStack = current.child), - (JSCompiler_object_inline_componentStack_2547 = + (JSCompiler_object_inline_componentStack_2549 = componentStack.sibling), - (JSCompiler_object_inline_stack_2546 = createWorkInProgress( + (JSCompiler_object_inline_stack_2548 = createWorkInProgress( componentStack, { mode: "hidden", - children: JSCompiler_object_inline_stack_2546.children + children: JSCompiler_object_inline_stack_2548.children } )), - (JSCompiler_object_inline_stack_2546.subtreeFlags = + (JSCompiler_object_inline_stack_2548.subtreeFlags = componentStack.subtreeFlags & 65011712), - null !== JSCompiler_object_inline_componentStack_2547 + null !== JSCompiler_object_inline_componentStack_2549 ? (nextPrimaryChildren = createWorkInProgress( - JSCompiler_object_inline_componentStack_2547, + JSCompiler_object_inline_componentStack_2549, nextPrimaryChildren )) : ((nextPrimaryChildren = createFiberFromFragment( @@ -9998,24 +10001,24 @@ )), (nextPrimaryChildren.flags |= 2)), (nextPrimaryChildren.return = workInProgress), - (JSCompiler_object_inline_stack_2546.return = workInProgress), - (JSCompiler_object_inline_stack_2546.sibling = nextPrimaryChildren), - (workInProgress.child = JSCompiler_object_inline_stack_2546), - (JSCompiler_object_inline_stack_2546 = nextPrimaryChildren), + (JSCompiler_object_inline_stack_2548.return = workInProgress), + (JSCompiler_object_inline_stack_2548.sibling = nextPrimaryChildren), + (workInProgress.child = JSCompiler_object_inline_stack_2548), + (JSCompiler_object_inline_stack_2548 = nextPrimaryChildren), (nextPrimaryChildren = workInProgress.child), (mode = current.child.memoizedState), null === mode ? (mode = mountSuspenseOffscreenState(renderLanes)) : ((componentStack = mode.cachePool), null !== componentStack - ? ((JSCompiler_object_inline_componentStack_2547 = + ? ((JSCompiler_object_inline_componentStack_2549 = CacheContext._currentValue), (componentStack = componentStack.parent !== - JSCompiler_object_inline_componentStack_2547 + JSCompiler_object_inline_componentStack_2549 ? { - parent: JSCompiler_object_inline_componentStack_2547, - pool: JSCompiler_object_inline_componentStack_2547 + parent: JSCompiler_object_inline_componentStack_2549, + pool: JSCompiler_object_inline_componentStack_2549 } : componentStack)) : (componentStack = getSuspendedCache()), @@ -10026,27 +10029,27 @@ (nextPrimaryChildren.memoizedState = mode), (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_digest_2545, + JSCompiler_object_inline_digest_2547, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), - JSCompiler_object_inline_stack_2546 + JSCompiler_object_inline_stack_2548 ); pushPrimaryTreeSuspenseHandler(workInProgress); renderLanes = current.child; current = renderLanes.sibling; renderLanes = createWorkInProgress(renderLanes, { mode: "visible", - children: JSCompiler_object_inline_stack_2546.children + children: JSCompiler_object_inline_stack_2548.children }); renderLanes.return = workInProgress; renderLanes.sibling = null; null !== current && - ((JSCompiler_object_inline_digest_2545 = workInProgress.deletions), - null === JSCompiler_object_inline_digest_2545 + ((JSCompiler_object_inline_digest_2547 = workInProgress.deletions), + null === JSCompiler_object_inline_digest_2547 ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16)) - : JSCompiler_object_inline_digest_2545.push(current)); + : JSCompiler_object_inline_digest_2547.push(current)); workInProgress.child = renderLanes; workInProgress.memoizedState = null; return renderLanes; @@ -10132,21 +10135,30 @@ (workInProgress.flags |= 128)) : (suspenseContext &= SubtreeSuspenseContextMask); push(suspenseStackCursor, suspenseContext, workInProgress); + suspenseContext = null == revealOrder ? "null" : revealOrder; if ( - void 0 !== revealOrder && "forwards" !== revealOrder && - "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder && "together" !== revealOrder && - !didWarnAboutRevealOrder[revealOrder] + "independent" !== revealOrder && + !didWarnAboutRevealOrder[suspenseContext] ) if ( - ((didWarnAboutRevealOrder[revealOrder] = !0), - "string" === typeof revealOrder) + ((didWarnAboutRevealOrder[suspenseContext] = !0), null == revealOrder) ) + console.error( + 'The default for the prop is changing. To be future compatible you must explictly specify either "independent" (the current default), "together", "forwards" or "legacy_unstable-backwards".' + ); + else if ("backwards" === revealOrder) + console.error( + 'The rendering order of is changing. To be future compatible you must specify revealOrder="legacy_unstable-backwards" instead.' + ); + else if ("string" === typeof revealOrder) switch (revealOrder.toLowerCase()) { case "together": case "forwards": case "backwards": + case "independent": console.error( '"%s" is not a valid value for revealOrder on . Use lowercase "%s" instead.', revealOrder, @@ -10163,32 +10175,48 @@ break; default: console.error( - '"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '"%s" is not a supported revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); } else console.error( - '%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '%s is not a supported value for revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); - void 0 === tailMode || - didWarnAboutTailOptions[tailMode] || - ("collapsed" !== tailMode && "hidden" !== tailMode - ? ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - '"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?', - tailMode - )) - : "forwards" !== revealOrder && - "backwards" !== revealOrder && - ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', - tailMode - ))); + suspenseContext = null == tailMode ? "null" : tailMode; + if (!didWarnAboutTailOptions[suspenseContext]) + if (null == tailMode) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) + (didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + 'The default for the prop is changing. To be future compatible you must explictly specify either "visible" (the current default), "collapsed" or "hidden".' + ); + } else + "visible" !== tailMode && + "collapsed" !== tailMode && + "hidden" !== tailMode + ? ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + '"%s" is not a supported value for tail on . Did you mean "visible", "collapsed" or "hidden"?', + tailMode + )) + : "forwards" !== revealOrder && + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder && + ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', + tailMode + )); a: if ( - ("forwards" === revealOrder || "backwards" === revealOrder) && + ("forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && !1 !== nextProps @@ -10275,6 +10303,7 @@ ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -25449,11 +25478,11 @@ }; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.2.0-canary-14094f80-20250529" !== isomorphicReactPackageVersion) + if ("19.2.0-canary-37054867-20250604" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.2.0-canary-14094f80-20250529\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.2.0-canary-37054867-20250604\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -25490,10 +25519,10 @@ !(function () { var internals = { bundleType: 1, - version: "19.2.0-canary-14094f80-20250529", + version: "19.2.0-canary-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-canary-14094f80-20250529" + reconcilerVersion: "19.2.0-canary-37054867-20250604" }; internals.overrideHookState = overrideHookState; internals.overrideHookStateDeletePath = overrideHookStateDeletePath; @@ -25631,7 +25660,7 @@ listenToAllSupportedEvents(container); return new ReactDOMHydrationRoot(initialChildren); }; - exports.version = "19.2.0-canary-14094f80-20250529"; + exports.version = "19.2.0-canary-37054867-20250604"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-client.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-client.production.js index 51b9ce9d54ff7..814008585334e 100644 --- a/packages/next/src/compiled/react-dom/cjs/react-dom-client.production.js +++ b/packages/next/src/compiled/react-dom/cjs/react-dom-client.production.js @@ -4282,7 +4282,13 @@ function findFirstSuspended(row) { isSuspenseInstanceFallback(state)) ) return node; - } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { + } else if ( + 19 === node.tag && + ("forwards" === node.memoizedProps.revealOrder || + "backwards" === node.memoizedProps.revealOrder || + "unstable_legacy-backwards" === node.memoizedProps.revealOrder || + "together" === node.memoizedProps.revealOrder) + ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { node.child.return = node; @@ -5589,19 +5595,19 @@ var ContextOnlyDispatcher = { idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + JSCompiler_inline_result; identifierPrefix = - "\u00ab" + identifierPrefix + "R" + JSCompiler_inline_result; + "_" + identifierPrefix + "R_" + JSCompiler_inline_result; JSCompiler_inline_result = localIdCounter++; 0 < JSCompiler_inline_result && (identifierPrefix += "H" + JSCompiler_inline_result.toString(32)); - identifierPrefix += "\u00bb"; + identifierPrefix += "_"; } else (JSCompiler_inline_result = globalClientIdCounter++), (identifierPrefix = - "\u00ab" + + "_" + identifierPrefix + - "r" + + "r_" + JSCompiler_inline_result.toString(32) + - "\u00bb"); + "_"); return (hook.memoizedState = identifierPrefix); }, useHostTransitionStatus: useHostTransitionStatus, @@ -7039,6 +7045,7 @@ function updateSuspenseListComponent(current, workInProgress, renderLanes) { ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -15686,14 +15693,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) { }; var isomorphicReactPackageVersion$jscomp$inline_1851 = React.version; if ( - "19.2.0-canary-14094f80-20250529" !== + "19.2.0-canary-37054867-20250604" !== isomorphicReactPackageVersion$jscomp$inline_1851 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_1851, - "19.2.0-canary-14094f80-20250529" + "19.2.0-canary-37054867-20250604" ) ); ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { @@ -15715,10 +15722,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { }; var internals$jscomp$inline_2344 = { bundleType: 0, - version: "19.2.0-canary-14094f80-20250529", + version: "19.2.0-canary-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-canary-14094f80-20250529" + reconcilerVersion: "19.2.0-canary-37054867-20250604" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_2345 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -15816,4 +15823,4 @@ exports.hydrateRoot = function (container, initialChildren, options) { listenToAllSupportedEvents(container); return new ReactDOMHydrationRoot(initialChildren); }; -exports.version = "19.2.0-canary-14094f80-20250529"; +exports.version = "19.2.0-canary-37054867-20250604"; diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.development.js index 6749608c11bc5..9a23cc9cd90ab 100644 --- a/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.development.js +++ b/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.development.js @@ -6605,7 +6605,10 @@ return node; } else if ( 19 === node.tag && - void 0 !== node.memoizedProps.revealOrder + ("forwards" === node.memoizedProps.revealOrder || + "backwards" === node.memoizedProps.revealOrder || + "unstable_legacy-backwards" === node.memoizedProps.revealOrder || + "together" === node.memoizedProps.revealOrder) ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { @@ -8094,14 +8097,14 @@ ( idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + treeId; - identifierPrefix = "\u00ab" + identifierPrefix + "R" + treeId; + identifierPrefix = "_" + identifierPrefix + "R_" + treeId; treeId = localIdCounter++; 0 < treeId && (identifierPrefix += "H" + treeId.toString(32)); - identifierPrefix += "\u00bb"; + identifierPrefix += "_"; } else (treeId = globalClientIdCounter++), (identifierPrefix = - "\u00ab" + identifierPrefix + "r" + treeId.toString(32) + "\u00bb"); + "_" + identifierPrefix + "r_" + treeId.toString(32) + "_"); return (hook.memoizedState = identifierPrefix); } function mountRefresh() { @@ -9707,24 +9710,24 @@ return current; } function updateSuspenseComponent(current, workInProgress, renderLanes) { - var JSCompiler_object_inline_digest_2550; - var JSCompiler_object_inline_stack_2551 = workInProgress.pendingProps; + var JSCompiler_object_inline_digest_2552; + var JSCompiler_object_inline_stack_2553 = workInProgress.pendingProps; shouldSuspendImpl(workInProgress) && (workInProgress.flags |= 128); - var JSCompiler_object_inline_message_2549 = !1; + var JSCompiler_object_inline_message_2551 = !1; var didSuspend = 0 !== (workInProgress.flags & 128); - (JSCompiler_object_inline_digest_2550 = didSuspend) || - (JSCompiler_object_inline_digest_2550 = + (JSCompiler_object_inline_digest_2552 = didSuspend) || + (JSCompiler_object_inline_digest_2552 = null !== current && null === current.memoizedState ? !1 : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback)); - JSCompiler_object_inline_digest_2550 && - ((JSCompiler_object_inline_message_2549 = !0), + JSCompiler_object_inline_digest_2552 && + ((JSCompiler_object_inline_message_2551 = !0), (workInProgress.flags &= -129)); - JSCompiler_object_inline_digest_2550 = 0 !== (workInProgress.flags & 32); + JSCompiler_object_inline_digest_2552 = 0 !== (workInProgress.flags & 32); workInProgress.flags &= -33; if (null === current) { if (isHydrating) { - JSCompiler_object_inline_message_2549 + JSCompiler_object_inline_message_2551 ? pushPrimaryTreeSuspenseHandler(workInProgress) : reuseSuspenseHandlerOnStack(workInProgress); (current = nextHydratableInstance) @@ -9737,18 +9740,18 @@ ? renderLanes : null), null !== renderLanes && - ((JSCompiler_object_inline_digest_2550 = { + ((JSCompiler_object_inline_digest_2552 = { dehydrated: renderLanes, treeContext: getSuspendedTreeContext(), retryLane: 536870912, hydrationErrors: null }), (workInProgress.memoizedState = - JSCompiler_object_inline_digest_2550), - (JSCompiler_object_inline_digest_2550 = + JSCompiler_object_inline_digest_2552), + (JSCompiler_object_inline_digest_2552 = createFiberFromDehydratedFragment(renderLanes)), - (JSCompiler_object_inline_digest_2550.return = workInProgress), - (workInProgress.child = JSCompiler_object_inline_digest_2550), + (JSCompiler_object_inline_digest_2552.return = workInProgress), + (workInProgress.child = JSCompiler_object_inline_digest_2552), (hydrationParentFiber = workInProgress), (nextHydratableInstance = null))) : (renderLanes = null); @@ -9762,36 +9765,36 @@ : (workInProgress.lanes = 536870912); return null; } - var nextPrimaryChildren = JSCompiler_object_inline_stack_2551.children; - JSCompiler_object_inline_stack_2551 = - JSCompiler_object_inline_stack_2551.fallback; - if (JSCompiler_object_inline_message_2549) { + var nextPrimaryChildren = JSCompiler_object_inline_stack_2553.children; + JSCompiler_object_inline_stack_2553 = + JSCompiler_object_inline_stack_2553.fallback; + if (JSCompiler_object_inline_message_2551) { reuseSuspenseHandlerOnStack(workInProgress); var mode = workInProgress.mode; nextPrimaryChildren = mountWorkInProgressOffscreenFiber( { mode: "hidden", children: nextPrimaryChildren }, mode ); - JSCompiler_object_inline_stack_2551 = createFiberFromFragment( - JSCompiler_object_inline_stack_2551, + JSCompiler_object_inline_stack_2553 = createFiberFromFragment( + JSCompiler_object_inline_stack_2553, mode, renderLanes, null ); nextPrimaryChildren.return = workInProgress; - JSCompiler_object_inline_stack_2551.return = workInProgress; - nextPrimaryChildren.sibling = JSCompiler_object_inline_stack_2551; + JSCompiler_object_inline_stack_2553.return = workInProgress; + nextPrimaryChildren.sibling = JSCompiler_object_inline_stack_2553; workInProgress.child = nextPrimaryChildren; nextPrimaryChildren = workInProgress.child; nextPrimaryChildren.memoizedState = mountSuspenseOffscreenState(renderLanes); nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_digest_2550, + JSCompiler_object_inline_digest_2552, renderLanes ); workInProgress.memoizedState = SUSPENDED_MARKER; - return JSCompiler_object_inline_stack_2551; + return JSCompiler_object_inline_stack_2553; } pushPrimaryTreeSuspenseHandler(workInProgress); return mountSuspensePrimaryChildren( @@ -9801,8 +9804,8 @@ } var prevState = current.memoizedState; if (null !== prevState) { - var JSCompiler_object_inline_componentStack_2552 = prevState.dehydrated; - if (null !== JSCompiler_object_inline_componentStack_2552) { + var JSCompiler_object_inline_componentStack_2554 = prevState.dehydrated; + if (null !== JSCompiler_object_inline_componentStack_2554) { if (didSuspend) workInProgress.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress), @@ -9819,13 +9822,13 @@ (workInProgress = null)) : (reuseSuspenseHandlerOnStack(workInProgress), (nextPrimaryChildren = - JSCompiler_object_inline_stack_2551.fallback), + JSCompiler_object_inline_stack_2553.fallback), (mode = workInProgress.mode), - (JSCompiler_object_inline_stack_2551 = + (JSCompiler_object_inline_stack_2553 = mountWorkInProgressOffscreenFiber( { mode: "visible", - children: JSCompiler_object_inline_stack_2551.children + children: JSCompiler_object_inline_stack_2553.children }, mode )), @@ -9836,24 +9839,24 @@ null )), (nextPrimaryChildren.flags |= 2), - (JSCompiler_object_inline_stack_2551.return = workInProgress), + (JSCompiler_object_inline_stack_2553.return = workInProgress), (nextPrimaryChildren.return = workInProgress), - (JSCompiler_object_inline_stack_2551.sibling = + (JSCompiler_object_inline_stack_2553.sibling = nextPrimaryChildren), - (workInProgress.child = JSCompiler_object_inline_stack_2551), + (workInProgress.child = JSCompiler_object_inline_stack_2553), reconcileChildFibers( workInProgress, current.child, null, renderLanes ), - (JSCompiler_object_inline_stack_2551 = workInProgress.child), - (JSCompiler_object_inline_stack_2551.memoizedState = + (JSCompiler_object_inline_stack_2553 = workInProgress.child), + (JSCompiler_object_inline_stack_2553.memoizedState = mountSuspenseOffscreenState(renderLanes)), - (JSCompiler_object_inline_stack_2551.childLanes = + (JSCompiler_object_inline_stack_2553.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_digest_2550, + JSCompiler_object_inline_digest_2552, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), @@ -9862,45 +9865,45 @@ (pushPrimaryTreeSuspenseHandler(workInProgress), warnIfHydrating(), isSuspenseInstanceFallback( - JSCompiler_object_inline_componentStack_2552 + JSCompiler_object_inline_componentStack_2554 )) ) { - JSCompiler_object_inline_digest_2550 = - JSCompiler_object_inline_componentStack_2552.nextSibling && - JSCompiler_object_inline_componentStack_2552.nextSibling.dataset; - if (JSCompiler_object_inline_digest_2550) { - nextPrimaryChildren = JSCompiler_object_inline_digest_2550.dgst; - var message = JSCompiler_object_inline_digest_2550.msg; - mode = JSCompiler_object_inline_digest_2550.stck; - var componentStack = JSCompiler_object_inline_digest_2550.cstck; + JSCompiler_object_inline_digest_2552 = + JSCompiler_object_inline_componentStack_2554.nextSibling && + JSCompiler_object_inline_componentStack_2554.nextSibling.dataset; + if (JSCompiler_object_inline_digest_2552) { + nextPrimaryChildren = JSCompiler_object_inline_digest_2552.dgst; + var message = JSCompiler_object_inline_digest_2552.msg; + mode = JSCompiler_object_inline_digest_2552.stck; + var componentStack = JSCompiler_object_inline_digest_2552.cstck; } - JSCompiler_object_inline_message_2549 = message; - JSCompiler_object_inline_digest_2550 = nextPrimaryChildren; - JSCompiler_object_inline_stack_2551 = mode; - JSCompiler_object_inline_componentStack_2552 = componentStack; - nextPrimaryChildren = JSCompiler_object_inline_message_2549; - mode = JSCompiler_object_inline_componentStack_2552; + JSCompiler_object_inline_message_2551 = message; + JSCompiler_object_inline_digest_2552 = nextPrimaryChildren; + JSCompiler_object_inline_stack_2553 = mode; + JSCompiler_object_inline_componentStack_2554 = componentStack; + nextPrimaryChildren = JSCompiler_object_inline_message_2551; + mode = JSCompiler_object_inline_componentStack_2554; nextPrimaryChildren = nextPrimaryChildren ? Error(nextPrimaryChildren) : Error( "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering." ); nextPrimaryChildren.stack = - JSCompiler_object_inline_stack_2551 || ""; - nextPrimaryChildren.digest = JSCompiler_object_inline_digest_2550; - JSCompiler_object_inline_digest_2550 = + JSCompiler_object_inline_stack_2553 || ""; + nextPrimaryChildren.digest = JSCompiler_object_inline_digest_2552; + JSCompiler_object_inline_digest_2552 = void 0 === mode ? null : mode; - JSCompiler_object_inline_stack_2551 = { + JSCompiler_object_inline_stack_2553 = { value: nextPrimaryChildren, source: null, - stack: JSCompiler_object_inline_digest_2550 + stack: JSCompiler_object_inline_digest_2552 }; - "string" === typeof JSCompiler_object_inline_digest_2550 && + "string" === typeof JSCompiler_object_inline_digest_2552 && CapturedStacks.set( nextPrimaryChildren, - JSCompiler_object_inline_stack_2551 + JSCompiler_object_inline_stack_2553 ); - queueHydrationError(JSCompiler_object_inline_stack_2551); + queueHydrationError(JSCompiler_object_inline_stack_2553); workInProgress = retrySuspenseComponentWithoutHydrating( current, workInProgress, @@ -9914,35 +9917,35 @@ renderLanes, !1 ), - (JSCompiler_object_inline_digest_2550 = + (JSCompiler_object_inline_digest_2552 = 0 !== (renderLanes & current.childLanes)), - didReceiveUpdate || JSCompiler_object_inline_digest_2550) + didReceiveUpdate || JSCompiler_object_inline_digest_2552) ) { - JSCompiler_object_inline_digest_2550 = workInProgressRoot; + JSCompiler_object_inline_digest_2552 = workInProgressRoot; if ( - null !== JSCompiler_object_inline_digest_2550 && - ((JSCompiler_object_inline_stack_2551 = getBumpedLaneForHydration( - JSCompiler_object_inline_digest_2550, + null !== JSCompiler_object_inline_digest_2552 && + ((JSCompiler_object_inline_stack_2553 = getBumpedLaneForHydration( + JSCompiler_object_inline_digest_2552, renderLanes )), - 0 !== JSCompiler_object_inline_stack_2551 && - JSCompiler_object_inline_stack_2551 !== prevState.retryLane) + 0 !== JSCompiler_object_inline_stack_2553 && + JSCompiler_object_inline_stack_2553 !== prevState.retryLane) ) throw ( - ((prevState.retryLane = JSCompiler_object_inline_stack_2551), + ((prevState.retryLane = JSCompiler_object_inline_stack_2553), enqueueConcurrentRenderForLane( current, - JSCompiler_object_inline_stack_2551 + JSCompiler_object_inline_stack_2553 ), scheduleUpdateOnFiber( - JSCompiler_object_inline_digest_2550, + JSCompiler_object_inline_digest_2552, current, - JSCompiler_object_inline_stack_2551 + JSCompiler_object_inline_stack_2553 ), SelectiveHydrationException) ); isSuspenseInstancePending( - JSCompiler_object_inline_componentStack_2552 + JSCompiler_object_inline_componentStack_2554 ) || renderDidSuspendDelayIfPossible(); workInProgress = retrySuspenseComponentWithoutHydrating( current, @@ -9951,14 +9954,14 @@ ); } else isSuspenseInstancePending( - JSCompiler_object_inline_componentStack_2552 + JSCompiler_object_inline_componentStack_2554 ) ? ((workInProgress.flags |= 192), (workInProgress.child = current.child), (workInProgress = null)) : ((current = prevState.treeContext), (nextHydratableInstance = getNextHydratable( - JSCompiler_object_inline_componentStack_2552.nextSibling + JSCompiler_object_inline_componentStack_2554.nextSibling )), (hydrationParentFiber = workInProgress), (isHydrating = !0), @@ -9970,32 +9973,32 @@ restoreSuspendedTreeContext(workInProgress, current), (workInProgress = mountSuspensePrimaryChildren( workInProgress, - JSCompiler_object_inline_stack_2551.children + JSCompiler_object_inline_stack_2553.children )), (workInProgress.flags |= 4096)); return workInProgress; } } - if (JSCompiler_object_inline_message_2549) + if (JSCompiler_object_inline_message_2551) return ( reuseSuspenseHandlerOnStack(workInProgress), - (nextPrimaryChildren = JSCompiler_object_inline_stack_2551.fallback), + (nextPrimaryChildren = JSCompiler_object_inline_stack_2553.fallback), (mode = workInProgress.mode), (componentStack = current.child), - (JSCompiler_object_inline_componentStack_2552 = + (JSCompiler_object_inline_componentStack_2554 = componentStack.sibling), - (JSCompiler_object_inline_stack_2551 = createWorkInProgress( + (JSCompiler_object_inline_stack_2553 = createWorkInProgress( componentStack, { mode: "hidden", - children: JSCompiler_object_inline_stack_2551.children + children: JSCompiler_object_inline_stack_2553.children } )), - (JSCompiler_object_inline_stack_2551.subtreeFlags = + (JSCompiler_object_inline_stack_2553.subtreeFlags = componentStack.subtreeFlags & 65011712), - null !== JSCompiler_object_inline_componentStack_2552 + null !== JSCompiler_object_inline_componentStack_2554 ? (nextPrimaryChildren = createWorkInProgress( - JSCompiler_object_inline_componentStack_2552, + JSCompiler_object_inline_componentStack_2554, nextPrimaryChildren )) : ((nextPrimaryChildren = createFiberFromFragment( @@ -10006,24 +10009,24 @@ )), (nextPrimaryChildren.flags |= 2)), (nextPrimaryChildren.return = workInProgress), - (JSCompiler_object_inline_stack_2551.return = workInProgress), - (JSCompiler_object_inline_stack_2551.sibling = nextPrimaryChildren), - (workInProgress.child = JSCompiler_object_inline_stack_2551), - (JSCompiler_object_inline_stack_2551 = nextPrimaryChildren), + (JSCompiler_object_inline_stack_2553.return = workInProgress), + (JSCompiler_object_inline_stack_2553.sibling = nextPrimaryChildren), + (workInProgress.child = JSCompiler_object_inline_stack_2553), + (JSCompiler_object_inline_stack_2553 = nextPrimaryChildren), (nextPrimaryChildren = workInProgress.child), (mode = current.child.memoizedState), null === mode ? (mode = mountSuspenseOffscreenState(renderLanes)) : ((componentStack = mode.cachePool), null !== componentStack - ? ((JSCompiler_object_inline_componentStack_2552 = + ? ((JSCompiler_object_inline_componentStack_2554 = CacheContext._currentValue), (componentStack = componentStack.parent !== - JSCompiler_object_inline_componentStack_2552 + JSCompiler_object_inline_componentStack_2554 ? { - parent: JSCompiler_object_inline_componentStack_2552, - pool: JSCompiler_object_inline_componentStack_2552 + parent: JSCompiler_object_inline_componentStack_2554, + pool: JSCompiler_object_inline_componentStack_2554 } : componentStack)) : (componentStack = getSuspendedCache()), @@ -10034,27 +10037,27 @@ (nextPrimaryChildren.memoizedState = mode), (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree( current, - JSCompiler_object_inline_digest_2550, + JSCompiler_object_inline_digest_2552, renderLanes )), (workInProgress.memoizedState = SUSPENDED_MARKER), - JSCompiler_object_inline_stack_2551 + JSCompiler_object_inline_stack_2553 ); pushPrimaryTreeSuspenseHandler(workInProgress); renderLanes = current.child; current = renderLanes.sibling; renderLanes = createWorkInProgress(renderLanes, { mode: "visible", - children: JSCompiler_object_inline_stack_2551.children + children: JSCompiler_object_inline_stack_2553.children }); renderLanes.return = workInProgress; renderLanes.sibling = null; null !== current && - ((JSCompiler_object_inline_digest_2550 = workInProgress.deletions), - null === JSCompiler_object_inline_digest_2550 + ((JSCompiler_object_inline_digest_2552 = workInProgress.deletions), + null === JSCompiler_object_inline_digest_2552 ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16)) - : JSCompiler_object_inline_digest_2550.push(current)); + : JSCompiler_object_inline_digest_2552.push(current)); workInProgress.child = renderLanes; workInProgress.memoizedState = null; return renderLanes; @@ -10140,21 +10143,30 @@ (workInProgress.flags |= 128)) : (suspenseContext &= SubtreeSuspenseContextMask); push(suspenseStackCursor, suspenseContext, workInProgress); + suspenseContext = null == revealOrder ? "null" : revealOrder; if ( - void 0 !== revealOrder && "forwards" !== revealOrder && - "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder && "together" !== revealOrder && - !didWarnAboutRevealOrder[revealOrder] + "independent" !== revealOrder && + !didWarnAboutRevealOrder[suspenseContext] ) if ( - ((didWarnAboutRevealOrder[revealOrder] = !0), - "string" === typeof revealOrder) + ((didWarnAboutRevealOrder[suspenseContext] = !0), null == revealOrder) ) + console.error( + 'The default for the prop is changing. To be future compatible you must explictly specify either "independent" (the current default), "together", "forwards" or "legacy_unstable-backwards".' + ); + else if ("backwards" === revealOrder) + console.error( + 'The rendering order of is changing. To be future compatible you must specify revealOrder="legacy_unstable-backwards" instead.' + ); + else if ("string" === typeof revealOrder) switch (revealOrder.toLowerCase()) { case "together": case "forwards": case "backwards": + case "independent": console.error( '"%s" is not a valid value for revealOrder on . Use lowercase "%s" instead.', revealOrder, @@ -10171,32 +10183,48 @@ break; default: console.error( - '"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '"%s" is not a supported revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); } else console.error( - '%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?', + '%s is not a supported value for revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder ); - void 0 === tailMode || - didWarnAboutTailOptions[tailMode] || - ("collapsed" !== tailMode && "hidden" !== tailMode - ? ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - '"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?', - tailMode - )) - : "forwards" !== revealOrder && - "backwards" !== revealOrder && - ((didWarnAboutTailOptions[tailMode] = !0), - console.error( - ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', - tailMode - ))); + suspenseContext = null == tailMode ? "null" : tailMode; + if (!didWarnAboutTailOptions[suspenseContext]) + if (null == tailMode) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) + (didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + 'The default for the prop is changing. To be future compatible you must explictly specify either "visible" (the current default), "collapsed" or "hidden".' + ); + } else + "visible" !== tailMode && + "collapsed" !== tailMode && + "hidden" !== tailMode + ? ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + '"%s" is not a supported value for tail on . Did you mean "visible", "collapsed" or "hidden"?', + tailMode + )) + : "forwards" !== revealOrder && + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder && + ((didWarnAboutTailOptions[suspenseContext] = !0), + console.error( + ' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', + tailMode + )); a: if ( - ("forwards" === revealOrder || "backwards" === revealOrder) && + ("forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && !1 !== nextProps @@ -10283,6 +10311,7 @@ ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -25501,11 +25530,11 @@ }; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.2.0-canary-14094f80-20250529" !== isomorphicReactPackageVersion) + if ("19.2.0-canary-37054867-20250604" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.2.0-canary-14094f80-20250529\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.2.0-canary-37054867-20250604\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -25542,10 +25571,10 @@ !(function () { var internals = { bundleType: 1, - version: "19.2.0-canary-14094f80-20250529", + version: "19.2.0-canary-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-canary-14094f80-20250529" + reconcilerVersion: "19.2.0-canary-37054867-20250604" }; internals.overrideHookState = overrideHookState; internals.overrideHookStateDeletePath = overrideHookStateDeletePath; @@ -26013,7 +26042,7 @@ exports.useFormStatus = function () { return resolveDispatcher().useHostTransitionStatus(); }; - exports.version = "19.2.0-canary-14094f80-20250529"; + exports.version = "19.2.0-canary-37054867-20250604"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.profiling.js b/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.profiling.js index 3844999a65af5..65e617fe5944e 100644 --- a/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.profiling.js +++ b/packages/next/src/compiled/react-dom/cjs/react-dom-profiling.profiling.js @@ -4441,7 +4441,13 @@ function findFirstSuspended(row) { isSuspenseInstanceFallback(state)) ) return node; - } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { + } else if ( + 19 === node.tag && + ("forwards" === node.memoizedProps.revealOrder || + "backwards" === node.memoizedProps.revealOrder || + "unstable_legacy-backwards" === node.memoizedProps.revealOrder || + "together" === node.memoizedProps.revealOrder) + ) { if (0 !== (node.flags & 128)) return node; } else if (null !== node.child) { node.child.return = node; @@ -5751,19 +5757,19 @@ var ContextOnlyDispatcher = { idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1)) ).toString(32) + JSCompiler_inline_result; identifierPrefix = - "\u00ab" + identifierPrefix + "R" + JSCompiler_inline_result; + "_" + identifierPrefix + "R_" + JSCompiler_inline_result; JSCompiler_inline_result = localIdCounter++; 0 < JSCompiler_inline_result && (identifierPrefix += "H" + JSCompiler_inline_result.toString(32)); - identifierPrefix += "\u00bb"; + identifierPrefix += "_"; } else (JSCompiler_inline_result = globalClientIdCounter++), (identifierPrefix = - "\u00ab" + + "_" + identifierPrefix + - "r" + + "r_" + JSCompiler_inline_result.toString(32) + - "\u00bb"); + "_"); return (hook.memoizedState = identifierPrefix); }, useHostTransitionStatus: useHostTransitionStatus, @@ -7214,6 +7220,7 @@ function updateSuspenseListComponent(current, workInProgress, renderLanes) { ); break; case "backwards": + case "unstable_legacy-backwards": renderLanes = null; revealOrder = workInProgress.child; for (workInProgress.child = null; null !== revealOrder; ) { @@ -16387,14 +16394,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) { }; var isomorphicReactPackageVersion$jscomp$inline_1955 = React.version; if ( - "19.2.0-canary-14094f80-20250529" !== + "19.2.0-canary-37054867-20250604" !== isomorphicReactPackageVersion$jscomp$inline_1955 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_1955, - "19.2.0-canary-14094f80-20250529" + "19.2.0-canary-37054867-20250604" ) ); ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { @@ -16416,10 +16423,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { }; var internals$jscomp$inline_1962 = { bundleType: 0, - version: "19.2.0-canary-14094f80-20250529", + version: "19.2.0-canary-37054867-20250604", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-canary-14094f80-20250529", + reconcilerVersion: "19.2.0-canary-37054867-20250604", getLaneLabelMap: function () { for ( var map = new Map(), lane = 1, index$293 = 0; @@ -16692,7 +16699,7 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.2.0-canary-14094f80-20250529"; +exports.version = "19.2.0-canary-37054867-20250604"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.development.js index c6deadbadf23d..22f44759b6d5d 100644 --- a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.development.js +++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.development.js @@ -3163,7 +3163,7 @@ ((resumableState.instructions |= SentCompletedShellId), target.push( completedShellIdAttributeStart, - escapeTextForBrowser("\u00ab" + resumableState.idPrefix + "R\u00bb"), + escapeTextForBrowser("_" + resumableState.idPrefix + "R_"), attributeEnd )); } @@ -4874,7 +4874,11 @@ var resumeSlots = task.replay.slots; if (null !== resumeSlots && "object" === typeof resumeSlots) for (var n = 0; n < keyPath; n++) { - var i = "backwards" !== revealOrder ? n : keyPath - 1 - n, + var i = + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ? n + : keyPath - 1 - n, node = rows[i]; task.row = previousSuspenseListRow = createSuspenseListRow( previousSuspenseListRow @@ -4891,7 +4895,8 @@ else for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++) (n = - "backwards" !== revealOrder + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots), (i = rows[n]), @@ -4902,7 +4907,10 @@ renderNode(request, task, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow); - } else if ("backwards" !== revealOrder) + } else if ( + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ) for (revealOrder = 0; revealOrder < keyPath; revealOrder++) (resumeSlots = rows[revealOrder]), warnForMissingKey(request, task, resumeSlots), @@ -5630,7 +5638,11 @@ a: { var children$jscomp$0 = props.children, revealOrder = props.revealOrder; - if ("forwards" === revealOrder || "backwards" === revealOrder) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) { if (isArrayImpl(children$jscomp$0)) { renderSuspenseListRows( request, @@ -7829,7 +7841,7 @@ NothingSent ) { resumableState.instructions |= SentCompletedShellId; - var shellId = "\u00ab" + resumableState.idPrefix + "R\u00bb"; + var shellId = "_" + resumableState.idPrefix + "R_"; destination.push(completedShellIdAttributeStart); var chunk$jscomp$1 = escapeTextForBrowser(shellId); destination.push(chunk$jscomp$1); @@ -8088,7 +8100,17 @@ : reason; request.fatalError = error; abortableTasks.forEach(function (task) { - return abortTask(task, request, error); + var prevTaskInDEV = currentTaskInDEV, + prevGetCurrentStackImpl = ReactSharedInternals.getCurrentStack; + currentTaskInDEV = task; + ReactSharedInternals.getCurrentStack = getCurrentStackInDEV; + try { + abortTask(task, request, error); + } finally { + (currentTaskInDEV = prevTaskInDEV), + (ReactSharedInternals.getCurrentStack = + prevGetCurrentStackImpl); + } }); abortableTasks.clear(); } @@ -9497,9 +9519,9 @@ "Invalid hook call. Hooks can only be called inside of the body of a function component." ); overflow = localIdCounter++; - treeId = "\u00ab" + resumableState.idPrefix + "R" + treeId; + treeId = "_" + resumableState.idPrefix + "R_" + treeId; 0 < overflow && (treeId += "H" + overflow.toString(32)); - return treeId + "\u00bb"; + return treeId + "_"; }, useSyncExternalStore: function ( subscribe, @@ -9626,5 +9648,5 @@ 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server' ); }; - exports.version = "19.2.0-canary-14094f80-20250529"; + exports.version = "19.2.0-canary-37054867-20250604"; })(); diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.js index a9e0de59a7438..577e47d986d3d 100644 --- a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.js +++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.js @@ -2199,7 +2199,7 @@ function pushCompletedShellIdAttribute(target, resumableState) { ((resumableState.instructions |= 32), target.push( ' id="', - escapeTextForBrowser("\u00ab" + resumableState.idPrefix + "R\u00bb"), + escapeTextForBrowser("_" + resumableState.idPrefix + "R_"), '"' )); } @@ -3368,9 +3368,9 @@ var HooksDispatcher = { if (null === resumableState) throw Error(formatProdErrorMessage(404)); overflow = localIdCounter++; JSCompiler_inline_result = - "\u00ab" + resumableState.idPrefix + "R" + JSCompiler_inline_result; + "_" + resumableState.idPrefix + "R_" + JSCompiler_inline_result; 0 < overflow && (JSCompiler_inline_result += "H" + overflow.toString(32)); - return JSCompiler_inline_result + "\u00bb"; + return JSCompiler_inline_result + "_"; }, useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) { if (void 0 === getServerSnapshot) @@ -3985,7 +3985,11 @@ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) { var resumeSlots = task.replay.slots; if (null !== resumeSlots && "object" === typeof resumeSlots) for (var n = 0; n < keyPath; n++) { - var i = "backwards" !== revealOrder ? n : keyPath - 1 - n, + var i = + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ? n + : keyPath - 1 - n, node = rows[i]; task.row = previousSuspenseListRow = createSuspenseListRow( previousSuspenseListRow @@ -4002,7 +4006,8 @@ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) { else for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++) (n = - "backwards" !== revealOrder + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots), (i = rows[n]), @@ -4012,7 +4017,10 @@ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) { renderNode(request, task, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow); - } else if ("backwards" !== revealOrder) + } else if ( + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ) for (revealOrder = 0; revealOrder < keyPath; revealOrder++) (resumeSlots = rows[revealOrder]), (task.row = previousSuspenseListRow = @@ -4372,7 +4380,11 @@ function renderElement(request, task, keyPath, type, props, ref) { a: { type = props.children; props = props.revealOrder; - if ("forwards" === props || "backwards" === props) { + if ( + "forwards" === props || + "backwards" === props || + "unstable_legacy-backwards" === props + ) { if (isArrayImpl(type)) { renderSuspenseListRows(request, task, keyPath, type, props); break a; @@ -6109,7 +6121,7 @@ function flushCompletedQueues(request, destination) { destination.push(renderState$jscomp$0.startInlineScript); if (0 === (resumableState.instructions & 32)) { resumableState.instructions |= 32; - var shellId = "\u00ab" + resumableState.idPrefix + "R\u00bb"; + var shellId = "_" + resumableState.idPrefix + "R_"; destination.push(' id="'); var chunk$jscomp$1 = escapeTextForBrowser(shellId); destination.push(chunk$jscomp$1); @@ -6406,4 +6418,4 @@ exports.renderToString = function (children, options) { 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server' ); }; -exports.version = "19.2.0-canary-14094f80-20250529"; +exports.version = "19.2.0-canary-37054867-20250604"; diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.development.js index 76fc7af8fb849..18e5fe33b41d4 100644 --- a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.development.js +++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.development.js @@ -3163,7 +3163,7 @@ ((resumableState.instructions |= SentCompletedShellId), target.push( completedShellIdAttributeStart, - escapeTextForBrowser("\u00ab" + resumableState.idPrefix + "R\u00bb"), + escapeTextForBrowser("_" + resumableState.idPrefix + "R_"), attributeEnd )); } @@ -4874,7 +4874,11 @@ var resumeSlots = task.replay.slots; if (null !== resumeSlots && "object" === typeof resumeSlots) for (var n = 0; n < keyPath; n++) { - var i = "backwards" !== revealOrder ? n : keyPath - 1 - n, + var i = + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ? n + : keyPath - 1 - n, node = rows[i]; task.row = previousSuspenseListRow = createSuspenseListRow( previousSuspenseListRow @@ -4891,7 +4895,8 @@ else for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++) (n = - "backwards" !== revealOrder + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots), (i = rows[n]), @@ -4902,7 +4907,10 @@ renderNode(request, task, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow); - } else if ("backwards" !== revealOrder) + } else if ( + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ) for (revealOrder = 0; revealOrder < keyPath; revealOrder++) (resumeSlots = rows[revealOrder]), warnForMissingKey(request, task, resumeSlots), @@ -5630,7 +5638,11 @@ a: { var children$jscomp$0 = props.children, revealOrder = props.revealOrder; - if ("forwards" === revealOrder || "backwards" === revealOrder) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) { if (isArrayImpl(children$jscomp$0)) { renderSuspenseListRows( request, @@ -7829,7 +7841,7 @@ NothingSent ) { resumableState.instructions |= SentCompletedShellId; - var shellId = "\u00ab" + resumableState.idPrefix + "R\u00bb"; + var shellId = "_" + resumableState.idPrefix + "R_"; destination.push(completedShellIdAttributeStart); var chunk$jscomp$1 = escapeTextForBrowser(shellId); destination.push(chunk$jscomp$1); @@ -8088,7 +8100,17 @@ : reason; request.fatalError = error; abortableTasks.forEach(function (task) { - return abortTask(task, request, error); + var prevTaskInDEV = currentTaskInDEV, + prevGetCurrentStackImpl = ReactSharedInternals.getCurrentStack; + currentTaskInDEV = task; + ReactSharedInternals.getCurrentStack = getCurrentStackInDEV; + try { + abortTask(task, request, error); + } finally { + (currentTaskInDEV = prevTaskInDEV), + (ReactSharedInternals.getCurrentStack = + prevGetCurrentStackImpl); + } }); abortableTasks.clear(); } @@ -9497,9 +9519,9 @@ "Invalid hook call. Hooks can only be called inside of the body of a function component." ); overflow = localIdCounter++; - treeId = "\u00ab" + resumableState.idPrefix + "R" + treeId; + treeId = "_" + resumableState.idPrefix + "R_" + treeId; 0 < overflow && (treeId += "H" + overflow.toString(32)); - return treeId + "\u00bb"; + return treeId + "_"; }, useSyncExternalStore: function ( subscribe, @@ -9626,5 +9648,5 @@ 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server' ); }; - exports.version = "19.2.0-canary-14094f80-20250529"; + exports.version = "19.2.0-canary-37054867-20250604"; })(); diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.production.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.production.js index e86c11d6ee67c..a8efbd620bc5c 100644 --- a/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.production.js +++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server-legacy.node.production.js @@ -2216,7 +2216,7 @@ function pushCompletedShellIdAttribute(target, resumableState) { ((resumableState.instructions |= 32), target.push( ' id="', - escapeTextForBrowser("\u00ab" + resumableState.idPrefix + "R\u00bb"), + escapeTextForBrowser("_" + resumableState.idPrefix + "R_"), '"' )); } @@ -3413,9 +3413,9 @@ var HooksDispatcher = { ); overflow = localIdCounter++; JSCompiler_inline_result = - "\u00ab" + resumableState.idPrefix + "R" + JSCompiler_inline_result; + "_" + resumableState.idPrefix + "R_" + JSCompiler_inline_result; 0 < overflow && (JSCompiler_inline_result += "H" + overflow.toString(32)); - return JSCompiler_inline_result + "\u00bb"; + return JSCompiler_inline_result + "_"; }, useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) { if (void 0 === getServerSnapshot) @@ -4032,7 +4032,11 @@ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) { var resumeSlots = task.replay.slots; if (null !== resumeSlots && "object" === typeof resumeSlots) for (var n = 0; n < keyPath; n++) { - var i = "backwards" !== revealOrder ? n : keyPath - 1 - n, + var i = + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ? n + : keyPath - 1 - n, node = rows[i]; task.row = previousSuspenseListRow = createSuspenseListRow( previousSuspenseListRow @@ -4049,7 +4053,8 @@ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) { else for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++) (n = - "backwards" !== revealOrder + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots), (i = rows[n]), @@ -4059,7 +4064,10 @@ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) { renderNode(request, task, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow); - } else if ("backwards" !== revealOrder) + } else if ( + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ) for (revealOrder = 0; revealOrder < keyPath; revealOrder++) (resumeSlots = rows[revealOrder]), (task.row = previousSuspenseListRow = @@ -4419,7 +4427,11 @@ function renderElement(request, task, keyPath, type, props, ref) { a: { type = props.children; props = props.revealOrder; - if ("forwards" === props || "backwards" === props) { + if ( + "forwards" === props || + "backwards" === props || + "unstable_legacy-backwards" === props + ) { if (isArrayImpl(type)) { renderSuspenseListRows(request, task, keyPath, type, props); break a; @@ -6189,7 +6201,7 @@ function flushCompletedQueues(request, destination) { destination.push(renderState$jscomp$0.startInlineScript); if (0 === (resumableState.instructions & 32)) { resumableState.instructions |= 32; - var shellId = "\u00ab" + resumableState.idPrefix + "R\u00bb"; + var shellId = "_" + resumableState.idPrefix + "R_"; destination.push(' id="'); var chunk$jscomp$1 = escapeTextForBrowser(shellId); destination.push(chunk$jscomp$1); @@ -6489,4 +6501,4 @@ exports.renderToString = function (children, options) { 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server' ); }; -exports.version = "19.2.0-canary-14094f80-20250529"; +exports.version = "19.2.0-canary-37054867-20250604"; diff --git a/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.development.js b/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.development.js index 69866d00e0580..58dc7d65cf595 100644 --- a/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.development.js +++ b/packages/next/src/compiled/react-dom/cjs/react-dom-server.browser.development.js @@ -3508,7 +3508,7 @@ target.push( completedShellIdAttributeStart, stringToChunk( - escapeTextForBrowser("\u00ab" + resumableState.idPrefix + "R\u00bb") + escapeTextForBrowser("_" + resumableState.idPrefix + "R_") ), attributeEnd )); @@ -5078,7 +5078,11 @@ var resumeSlots = task.replay.slots; if (null !== resumeSlots && "object" === typeof resumeSlots) for (var n = 0; n < keyPath; n++) { - var i = "backwards" !== revealOrder ? n : keyPath - 1 - n, + var i = + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ? n + : keyPath - 1 - n, node = rows[i]; task.row = previousSuspenseListRow = createSuspenseListRow( previousSuspenseListRow @@ -5095,7 +5099,8 @@ else for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++) (n = - "backwards" !== revealOrder + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots), (i = rows[n]), @@ -5106,7 +5111,10 @@ renderNode(request, task, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow); - } else if ("backwards" !== revealOrder) + } else if ( + "backwards" !== revealOrder && + "unstable_legacy-backwards" !== revealOrder + ) for (revealOrder = 0; revealOrder < keyPath; revealOrder++) (resumeSlots = rows[revealOrder]), warnForMissingKey(request, task, resumeSlots), @@ -5830,7 +5838,11 @@ a: { var children$jscomp$0 = props.children, revealOrder = props.revealOrder; - if ("forwards" === revealOrder || "backwards" === revealOrder) { + if ( + "forwards" === revealOrder || + "backwards" === revealOrder || + "unstable_legacy-backwards" === revealOrder + ) { if (isArrayImpl(children$jscomp$0)) { renderSuspenseListRows( request, @@ -8053,7 +8065,7 @@ NothingSent ) { resumableState.instructions |= SentCompletedShellId; - var shellId = "\u00ab" + resumableState.idPrefix + "R\u00bb"; + var shellId = "_" + resumableState.idPrefix + "R_"; writeChunk(destination, completedShellIdAttributeStart); writeChunk( destination, @@ -8350,7 +8362,17 @@ : reason; request.fatalError = error; abortableTasks.forEach(function (task) { - return abortTask(task, request, error); + var prevTaskInDEV = currentTaskInDEV, + prevGetCurrentStackImpl = ReactSharedInternals.getCurrentStack; + currentTaskInDEV = task; + ReactSharedInternals.getCurrentStack = getCurrentStackInDEV; + try { + abortTask(task, request, error); + } finally { + (currentTaskInDEV = prevTaskInDEV), + (ReactSharedInternals.getCurrentStack = + prevGetCurrentStackImpl); + } }); abortableTasks.clear(); } @@ -8376,11 +8398,11 @@ } function ensureCorrectIsomorphicReactVersion() { var isomorphicReactPackageVersion = React.version; - if ("19.2.0-canary-14094f80-20250529" !== isomorphicReactPackageVersion) + if ("19.2.0-canary-37054867-20250604" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.2.0-canary-14094f80-20250529\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.2.0-canary-37054867-20250604\nLearn more: https://react.dev/warnings/version-mismatch") ); } var React = require("next/dist/compiled/react"), @@ -9618,7 +9640,7 @@ '$RB=[];$RV=function(c){$RT=performance.now();for(var a=0;a", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2243,6 +2293,66 @@ ); } } + function initializeIOInfo(response, ioInfo) { + var env = + void 0 === ioInfo.env ? response._rootEnvironmentName : ioInfo.env; + void 0 !== ioInfo.stack && + (initializeFakeTask(response, ioInfo, env), + initializeFakeStack(response, ioInfo)); + ioInfo.start += response._timeOrigin; + ioInfo.end += response._timeOrigin; + env = ioInfo.start; + var endTime = ioInfo.end; + if (supportsUserTiming && 0 <= endTime) { + var name = ioInfo.name, + env$jscomp$0 = ioInfo.env; + response = + env$jscomp$0 === response._rootEnvironmentName || + void 0 === env$jscomp$0 + ? name + : name + " [" + env$jscomp$0 + "]"; + ioInfo = ioInfo.debugTask; + name = getIOColor(name); + ioInfo + ? ioInfo.run( + console.timeStamp.bind( + console, + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ) + ) + : console.timeStamp( + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ); + } + } + function resolveIOInfo(response, id, model) { + var chunks = response._chunks, + chunk = chunks.get(id); + chunk + ? (resolveModelChunk(chunk, model), + "resolved_model" === chunk.status && initializeModelChunk(chunk)) + : ((chunk = new ReactPromise("resolved_model", model, null, response)), + chunks.set(id, chunk), + initializeModelChunk(chunk)); + "fulfilled" === chunk.status + ? initializeIOInfo(response, chunk.value) + : chunk.then( + function (v) { + initializeIOInfo(response, v); + }, + function () {} + ); + } function mergeBuffer(buffer, lastChunk) { for ( var l = buffer.length, byteLength = lastChunk.length, i = 0; @@ -2286,119 +2396,117 @@ parentEndTime ) { if (!isArrayImpl(root._children)) { - response = root._children; - root = response.endTime; + root = root._children; + var previousEndTime = root.endTime; if ( -Infinity < parentEndTime && - parentEndTime < root && - null !== response.component + parentEndTime < previousEndTime && + null !== root.component ) { - var componentInfo = response.component, - trackIdx = trackIdx$jscomp$0, - startTime = parentEndTime; - supportsUserTiming && - 0 <= root && - 10 > trackIdx && - ((parentEndTime = componentInfo.name + " [deduped]"), + var componentInfo = root.component, + trackIdx = trackIdx$jscomp$0; + if (supportsUserTiming && 0 <= previousEndTime && 10 > trackIdx) { + response = + componentInfo.env === response._rootEnvironmentName + ? "primary-light" + : "secondary-light"; + var entryName = componentInfo.name + " [deduped]"; (componentInfo = componentInfo.debugTask) ? componentInfo.run( console.timeStamp.bind( console, - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" + response ) ) : console.timeStamp( - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" - )); + response + ); + } } - response.track = trackIdx$jscomp$0; - return response; + root.track = trackIdx$jscomp$0; + return root; } - var children = root._children; + entryName = root._children; "resolved_model" === root.status && initializeModelChunk(root); - if ((trackIdx = root._debugInfo)) { - for ( - componentInfo = 1; - componentInfo < trackIdx.length; - componentInfo++ - ) + if ((previousEndTime = root._debugInfo)) { + for (trackIdx = 1; trackIdx < previousEndTime.length; trackIdx++) if ( - "string" === typeof trackIdx[componentInfo].name && - ((startTime = trackIdx[componentInfo - 1]), - "number" === typeof startTime.time) + "string" === typeof previousEndTime[trackIdx].name && + ((componentInfo = previousEndTime[trackIdx - 1]), + "number" === typeof componentInfo.time) ) { - componentInfo = startTime.time; - componentInfo < trackTime && trackIdx$jscomp$0++; - trackTime = componentInfo; + trackIdx = componentInfo.time; + trackIdx < trackTime && trackIdx$jscomp$0++; + trackTime = trackIdx; break; } - for ( - componentInfo = trackIdx.length - 1; - 0 <= componentInfo; - componentInfo-- - ) - (startTime = trackIdx[componentInfo]), - "number" === typeof startTime.time && - startTime.time > parentEndTime && - (parentEndTime = startTime.time); + for (trackIdx = previousEndTime.length - 1; 0 <= trackIdx; trackIdx--) + (componentInfo = previousEndTime[trackIdx]), + "number" === typeof componentInfo.time && + componentInfo.time > parentEndTime && + (parentEndTime = componentInfo.time); } - componentInfo = { + trackIdx = { track: trackIdx$jscomp$0, endTime: -Infinity, component: null }; - root._children = componentInfo; - startTime = -Infinity; + root._children = trackIdx; + componentInfo = -Infinity; var childTrackIdx = trackIdx$jscomp$0, childTrackTime = trackTime; - for (trackTime = 0; trackTime < children.length; trackTime++) { + for (trackTime = 0; trackTime < entryName.length; trackTime++) { childTrackTime = flushComponentPerformance( response, - children[trackTime], + entryName[trackTime], childTrackIdx, childTrackTime, parentEndTime ); null !== childTrackTime.component && - (componentInfo.component = childTrackTime.component); + (trackIdx.component = childTrackTime.component); childTrackIdx = childTrackTime.track; var childEndTime = childTrackTime.endTime; childTrackTime = childEndTime; - childEndTime > startTime && (startTime = childEndTime); + childEndTime > componentInfo && (componentInfo = childEndTime); } - if (trackIdx) + if (previousEndTime) for ( - parentEndTime = 0, childTrackIdx = !0, children = trackIdx.length - 1; - 0 <= children; - children-- + entryName = 0, + childTrackTime = !0, + parentEndTime = previousEndTime.length - 1; + 0 <= parentEndTime; + parentEndTime-- ) if ( - ((trackTime = trackIdx[children]), + ((trackTime = previousEndTime[parentEndTime]), "number" === typeof trackTime.time && - ((parentEndTime = trackTime.time), - parentEndTime > startTime && (startTime = parentEndTime)), - "string" === typeof trackTime.name && 0 < children) + (trackTime.time > componentInfo && + (componentInfo = trackTime.time), + 0 === entryName && (entryName = trackTime.time)), + "string" === typeof trackTime.name && 0 < parentEndTime) ) { - childTrackTime = trackIdx[children - 1]; - if ("number" === typeof childTrackTime.time) { - childTrackTime = childTrackTime.time; + childTrackIdx = previousEndTime[parentEndTime - 1]; + if ("number" === typeof childTrackIdx.time) { + childTrackIdx = childTrackIdx.time; if ( - childTrackIdx && + childTrackTime && "rejected" === root.status && root.reason !== response._closedReason ) { - childTrackIdx = trackIdx$jscomp$0; - childEndTime = startTime; + entryName = trackIdx$jscomp$0; + childTrackTime = childTrackIdx; + childEndTime = componentInfo; var error = root.reason; if (supportsUserTiming) { var env = trackTime.env, @@ -2415,7 +2523,7 @@ detail: { devtools: { color: "error", - track: trackNames[childTrackIdx], + track: trackNames[entryName], trackGroup: "Server Components \u269b", tooltipText: env + " Errored", properties: [ @@ -2435,30 +2543,31 @@ env, 0 > childTrackTime ? 0 : childTrackTime, childEndTime, - trackNames[childTrackIdx], + trackNames[entryName], "Server Components \u269b", "error" ); } } else if ( - ((childTrackIdx = trackIdx$jscomp$0), - (childEndTime = startTime), - supportsUserTiming && 0 <= childEndTime && 10 > childTrackIdx) + ((childTrackTime = trackIdx$jscomp$0), + (childEndTime = childTrackIdx), + (error = componentInfo), + supportsUserTiming && 0 <= error && 10 > childTrackTime) ) { env = trackTime.env; name = trackTime.name; var isPrimaryEnv = env === response._rootEnvironmentName; - error = parentEndTime - childTrackTime; - error = - 0.5 > error + entryName -= childEndTime; + entryName = + 0.5 > entryName ? isPrimaryEnv ? "primary-light" : "secondary-light" - : 50 > error + : 50 > entryName ? isPrimaryEnv ? "primary" : "secondary" - : 500 > error + : 500 > entryName ? isPrimaryEnv ? "primary-dark" : "secondary-dark" @@ -2472,28 +2581,72 @@ console.timeStamp.bind( console, env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ) ) : console.timeStamp( env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ); } - componentInfo.component = trackTime; + trackIdx.component = trackTime; + entryName = childTrackIdx; } - childTrackIdx = !1; + childTrackTime = !1; + } else if ( + trackTime.awaited && + 0 < parentEndTime && + parentEndTime < previousEndTime.length - 2 && + ((childEndTime = previousEndTime[parentEndTime - 1]), + (error = previousEndTime[parentEndTime + 1]), + "number" === typeof childEndTime.time && + "number" === typeof error.time && + ((childTrackIdx = trackTime), + (trackTime = trackIdx$jscomp$0), + (childEndTime = childEndTime.time), + (error = error.time), + supportsUserTiming && 0 < error)) + ) { + name = childTrackIdx.env; + isPrimaryEnv = childTrackIdx.awaited.name; + var isPrimaryEnv$jscomp$0 = name === response._rootEnvironmentName; + env = getIOColor(isPrimaryEnv); + name = + "await " + + (isPrimaryEnv$jscomp$0 || void 0 === name + ? isPrimaryEnv + : isPrimaryEnv + " [" + name + "]"); + (childTrackIdx = childTrackIdx.debugTask) + ? childTrackIdx.run( + console.timeStamp.bind( + console, + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ) + ) + : console.timeStamp( + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ); } - componentInfo.endTime = startTime; - return componentInfo; + trackIdx.endTime = componentInfo; + return trackIdx; } function processFullBinaryRow(response, id, tag, buffer, chunk) { switch (tag) { @@ -2586,6 +2739,9 @@ function () {} ); break; + case 74: + resolveIOInfo(response, id, row); + break; case 87: resolveConsoleEntry(response, row); break; @@ -2667,7 +2823,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2878,6 +3040,7 @@ ReactSharedInteralsServer; ReactPromise.prototype = Object.create(Promise.prototype); ReactPromise.prototype.then = function (resolve, reject) { + var _this = this; switch (this.status) { case "resolved_model": initializeModelChunk(this); @@ -2885,6 +3048,19 @@ case "resolved_module": initializeModuleChunk(this); } + var resolveCallback = resolve, + rejectCallback = reject, + wrapperPromise = new Promise(function (res, rej) { + resolve = function (value) { + wrapperPromise._debugInfo = _this._debugInfo; + res(value); + }; + reject = function (reason) { + wrapperPromise._debugInfo = _this._debugInfo; + rej(reason); + }; + }); + wrapperPromise.then(resolveCallback, rejectCallback); switch (this.status) { case "fulfilled": resolve(this.value); @@ -2917,6 +3093,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -2981,6 +3158,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { @@ -3014,10 +3192,10 @@ return hook.checkDCE ? !0 : !1; })({ bundleType: 1, - version: "19.2.0-experimental-14094f80-20250529", + version: "19.2.0-experimental-37054867-20250604", rendererPackageName: "react-server-dom-turbopack", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-experimental-14094f80-20250529", + reconcilerVersion: "19.2.0-experimental-37054867-20250604", getCurrentComponentInfo: function () { return currentOwnerInDEV; } diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.production.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.production.js index 4a0d08d79781b..54839e5ed1e2a 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.production.js @@ -1423,6 +1423,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.edge.development.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.edge.development.js index 98a31627e6d85..4c25093d20973 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.edge.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.edge.development.js @@ -1079,6 +1079,16 @@ registerBoundServerReference(action, id, null, encodeFormAction); return action; } + function getIOColor(functionName) { + switch (functionName.charCodeAt(0) % 3) { + case 0: + return "tertiary-light"; + case 1: + return "tertiary"; + default: + return "tertiary-dark"; + } + } function getComponentNameFromType(type) { if (null == type) return null; if ("function" === typeof type) @@ -1304,6 +1314,14 @@ "pending" === chunk.status && triggerErrorOnChunk(chunk, error); }); supportsUserTiming && + (console.timeStamp( + "Server Requests Track", + 0.001, + 0.001, + "Server Requests \u269b", + void 0, + "primary-light" + ), console.timeStamp( "Server Components Track", 0.001, @@ -1311,7 +1329,7 @@ "Primary", "Server Components \u269b", "primary-light" - ); + )); flushComponentPerformance( response, getChunk(response, 0), @@ -2109,6 +2127,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2126,6 +2145,7 @@ response, stack, env, + !1, Error.bind(null, reason || "") ); stack = response._debugRootTask; @@ -2277,10 +2297,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2299,8 +2329,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2323,7 +2353,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2337,7 +2368,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2350,13 +2382,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2467,6 +2517,66 @@ ); } } + function initializeIOInfo(response, ioInfo) { + var env = + void 0 === ioInfo.env ? response._rootEnvironmentName : ioInfo.env; + void 0 !== ioInfo.stack && + (initializeFakeTask(response, ioInfo, env), + initializeFakeStack(response, ioInfo)); + ioInfo.start += response._timeOrigin; + ioInfo.end += response._timeOrigin; + env = ioInfo.start; + var endTime = ioInfo.end; + if (supportsUserTiming && 0 <= endTime) { + var name = ioInfo.name, + env$jscomp$0 = ioInfo.env; + response = + env$jscomp$0 === response._rootEnvironmentName || + void 0 === env$jscomp$0 + ? name + : name + " [" + env$jscomp$0 + "]"; + ioInfo = ioInfo.debugTask; + name = getIOColor(name); + ioInfo + ? ioInfo.run( + console.timeStamp.bind( + console, + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ) + ) + : console.timeStamp( + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ); + } + } + function resolveIOInfo(response, id, model) { + var chunks = response._chunks, + chunk = chunks.get(id); + chunk + ? (resolveModelChunk(chunk, model), + "resolved_model" === chunk.status && initializeModelChunk(chunk)) + : ((chunk = new ReactPromise("resolved_model", model, null, response)), + chunks.set(id, chunk), + initializeModelChunk(chunk)); + "fulfilled" === chunk.status + ? initializeIOInfo(response, chunk.value) + : chunk.then( + function (v) { + initializeIOInfo(response, v); + }, + function () {} + ); + } function mergeBuffer(buffer, lastChunk) { for ( var l = buffer.length, byteLength = lastChunk.length, i = 0; @@ -2510,119 +2620,117 @@ parentEndTime ) { if (!isArrayImpl(root._children)) { - response = root._children; - root = response.endTime; + root = root._children; + var previousEndTime = root.endTime; if ( -Infinity < parentEndTime && - parentEndTime < root && - null !== response.component + parentEndTime < previousEndTime && + null !== root.component ) { - var componentInfo = response.component, - trackIdx = trackIdx$jscomp$0, - startTime = parentEndTime; - supportsUserTiming && - 0 <= root && - 10 > trackIdx && - ((parentEndTime = componentInfo.name + " [deduped]"), + var componentInfo = root.component, + trackIdx = trackIdx$jscomp$0; + if (supportsUserTiming && 0 <= previousEndTime && 10 > trackIdx) { + response = + componentInfo.env === response._rootEnvironmentName + ? "primary-light" + : "secondary-light"; + var entryName = componentInfo.name + " [deduped]"; (componentInfo = componentInfo.debugTask) ? componentInfo.run( console.timeStamp.bind( console, - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" + response ) ) : console.timeStamp( - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" - )); + response + ); + } } - response.track = trackIdx$jscomp$0; - return response; + root.track = trackIdx$jscomp$0; + return root; } - var children = root._children; + entryName = root._children; "resolved_model" === root.status && initializeModelChunk(root); - if ((trackIdx = root._debugInfo)) { - for ( - componentInfo = 1; - componentInfo < trackIdx.length; - componentInfo++ - ) + if ((previousEndTime = root._debugInfo)) { + for (trackIdx = 1; trackIdx < previousEndTime.length; trackIdx++) if ( - "string" === typeof trackIdx[componentInfo].name && - ((startTime = trackIdx[componentInfo - 1]), - "number" === typeof startTime.time) + "string" === typeof previousEndTime[trackIdx].name && + ((componentInfo = previousEndTime[trackIdx - 1]), + "number" === typeof componentInfo.time) ) { - componentInfo = startTime.time; - componentInfo < trackTime && trackIdx$jscomp$0++; - trackTime = componentInfo; + trackIdx = componentInfo.time; + trackIdx < trackTime && trackIdx$jscomp$0++; + trackTime = trackIdx; break; } - for ( - componentInfo = trackIdx.length - 1; - 0 <= componentInfo; - componentInfo-- - ) - (startTime = trackIdx[componentInfo]), - "number" === typeof startTime.time && - startTime.time > parentEndTime && - (parentEndTime = startTime.time); + for (trackIdx = previousEndTime.length - 1; 0 <= trackIdx; trackIdx--) + (componentInfo = previousEndTime[trackIdx]), + "number" === typeof componentInfo.time && + componentInfo.time > parentEndTime && + (parentEndTime = componentInfo.time); } - componentInfo = { + trackIdx = { track: trackIdx$jscomp$0, endTime: -Infinity, component: null }; - root._children = componentInfo; - startTime = -Infinity; + root._children = trackIdx; + componentInfo = -Infinity; var childTrackIdx = trackIdx$jscomp$0, childTrackTime = trackTime; - for (trackTime = 0; trackTime < children.length; trackTime++) { + for (trackTime = 0; trackTime < entryName.length; trackTime++) { childTrackTime = flushComponentPerformance( response, - children[trackTime], + entryName[trackTime], childTrackIdx, childTrackTime, parentEndTime ); null !== childTrackTime.component && - (componentInfo.component = childTrackTime.component); + (trackIdx.component = childTrackTime.component); childTrackIdx = childTrackTime.track; var childEndTime = childTrackTime.endTime; childTrackTime = childEndTime; - childEndTime > startTime && (startTime = childEndTime); + childEndTime > componentInfo && (componentInfo = childEndTime); } - if (trackIdx) + if (previousEndTime) for ( - parentEndTime = 0, childTrackIdx = !0, children = trackIdx.length - 1; - 0 <= children; - children-- + entryName = 0, + childTrackTime = !0, + parentEndTime = previousEndTime.length - 1; + 0 <= parentEndTime; + parentEndTime-- ) if ( - ((trackTime = trackIdx[children]), + ((trackTime = previousEndTime[parentEndTime]), "number" === typeof trackTime.time && - ((parentEndTime = trackTime.time), - parentEndTime > startTime && (startTime = parentEndTime)), - "string" === typeof trackTime.name && 0 < children) + (trackTime.time > componentInfo && + (componentInfo = trackTime.time), + 0 === entryName && (entryName = trackTime.time)), + "string" === typeof trackTime.name && 0 < parentEndTime) ) { - childTrackTime = trackIdx[children - 1]; - if ("number" === typeof childTrackTime.time) { - childTrackTime = childTrackTime.time; + childTrackIdx = previousEndTime[parentEndTime - 1]; + if ("number" === typeof childTrackIdx.time) { + childTrackIdx = childTrackIdx.time; if ( - childTrackIdx && + childTrackTime && "rejected" === root.status && root.reason !== response._closedReason ) { - childTrackIdx = trackIdx$jscomp$0; - childEndTime = startTime; + entryName = trackIdx$jscomp$0; + childTrackTime = childTrackIdx; + childEndTime = componentInfo; var error = root.reason; if (supportsUserTiming) { var env = trackTime.env, @@ -2639,7 +2747,7 @@ detail: { devtools: { color: "error", - track: trackNames[childTrackIdx], + track: trackNames[entryName], trackGroup: "Server Components \u269b", tooltipText: env + " Errored", properties: [ @@ -2659,30 +2767,31 @@ env, 0 > childTrackTime ? 0 : childTrackTime, childEndTime, - trackNames[childTrackIdx], + trackNames[entryName], "Server Components \u269b", "error" ); } } else if ( - ((childTrackIdx = trackIdx$jscomp$0), - (childEndTime = startTime), - supportsUserTiming && 0 <= childEndTime && 10 > childTrackIdx) + ((childTrackTime = trackIdx$jscomp$0), + (childEndTime = childTrackIdx), + (error = componentInfo), + supportsUserTiming && 0 <= error && 10 > childTrackTime) ) { env = trackTime.env; name = trackTime.name; var isPrimaryEnv = env === response._rootEnvironmentName; - error = parentEndTime - childTrackTime; - error = - 0.5 > error + entryName -= childEndTime; + entryName = + 0.5 > entryName ? isPrimaryEnv ? "primary-light" : "secondary-light" - : 50 > error + : 50 > entryName ? isPrimaryEnv ? "primary" : "secondary" - : 500 > error + : 500 > entryName ? isPrimaryEnv ? "primary-dark" : "secondary-dark" @@ -2696,28 +2805,72 @@ console.timeStamp.bind( console, env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ) ) : console.timeStamp( env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ); } - componentInfo.component = trackTime; + trackIdx.component = trackTime; + entryName = childTrackIdx; } - childTrackIdx = !1; + childTrackTime = !1; + } else if ( + trackTime.awaited && + 0 < parentEndTime && + parentEndTime < previousEndTime.length - 2 && + ((childEndTime = previousEndTime[parentEndTime - 1]), + (error = previousEndTime[parentEndTime + 1]), + "number" === typeof childEndTime.time && + "number" === typeof error.time && + ((childTrackIdx = trackTime), + (trackTime = trackIdx$jscomp$0), + (childEndTime = childEndTime.time), + (error = error.time), + supportsUserTiming && 0 < error)) + ) { + name = childTrackIdx.env; + isPrimaryEnv = childTrackIdx.awaited.name; + var isPrimaryEnv$jscomp$0 = name === response._rootEnvironmentName; + env = getIOColor(isPrimaryEnv); + name = + "await " + + (isPrimaryEnv$jscomp$0 || void 0 === name + ? isPrimaryEnv + : isPrimaryEnv + " [" + name + "]"); + (childTrackIdx = childTrackIdx.debugTask) + ? childTrackIdx.run( + console.timeStamp.bind( + console, + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ) + ) + : console.timeStamp( + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ); } - componentInfo.endTime = startTime; - return componentInfo; + trackIdx.endTime = componentInfo; + return trackIdx; } function processFullBinaryRow(response, id, tag, buffer, chunk) { switch (tag) { @@ -2810,6 +2963,9 @@ function () {} ); break; + case 74: + resolveIOInfo(response, id, row); + break; case 87: resolveConsoleEntry(response, row); break; @@ -2891,7 +3047,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -3110,6 +3272,7 @@ ReactSharedInteralsServer; ReactPromise.prototype = Object.create(Promise.prototype); ReactPromise.prototype.then = function (resolve, reject) { + var _this = this; switch (this.status) { case "resolved_model": initializeModelChunk(this); @@ -3117,6 +3280,19 @@ case "resolved_module": initializeModuleChunk(this); } + var resolveCallback = resolve, + rejectCallback = reject, + wrapperPromise = new Promise(function (res, rej) { + resolve = function (value) { + wrapperPromise._debugInfo = _this._debugInfo; + res(value); + }; + reject = function (reason) { + wrapperPromise._debugInfo = _this._debugInfo; + rej(reason); + }; + }); + wrapperPromise.then(resolveCallback, rejectCallback); switch (this.status) { case "fulfilled": resolve(this.value); @@ -3149,6 +3325,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -3213,6 +3390,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.edge.production.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.edge.production.js index f222070fd0ad4..07e113b16510b 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.edge.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.edge.production.js @@ -1613,6 +1613,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.node.development.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.node.development.js index 5d4328dbcacc9..37f78e186d6ed 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.node.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.node.development.js @@ -1079,6 +1079,16 @@ registerBoundServerReference(action, id, null, encodeFormAction); return action; } + function getIOColor(functionName) { + switch (functionName.charCodeAt(0) % 3) { + case 0: + return "tertiary-light"; + case 1: + return "tertiary"; + default: + return "tertiary-dark"; + } + } function getComponentNameFromType(type) { if (null == type) return null; if ("function" === typeof type) @@ -1304,6 +1314,14 @@ "pending" === chunk.status && triggerErrorOnChunk(chunk, error); }); supportsUserTiming && + (console.timeStamp( + "Server Requests Track", + 0.001, + 0.001, + "Server Requests \u269b", + void 0, + "primary-light" + ), console.timeStamp( "Server Components Track", 0.001, @@ -1311,7 +1329,7 @@ "Primary", "Server Components \u269b", "primary-light" - ); + )); flushComponentPerformance( response, getChunk(response, 0), @@ -2109,6 +2127,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2126,6 +2145,7 @@ response, stack, env, + !1, Error.bind(null, reason || "") ); stack = response._debugRootTask; @@ -2277,10 +2297,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2299,8 +2329,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2323,7 +2353,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2337,7 +2368,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2350,13 +2382,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2467,6 +2517,66 @@ ); } } + function initializeIOInfo(response, ioInfo) { + var env = + void 0 === ioInfo.env ? response._rootEnvironmentName : ioInfo.env; + void 0 !== ioInfo.stack && + (initializeFakeTask(response, ioInfo, env), + initializeFakeStack(response, ioInfo)); + ioInfo.start += response._timeOrigin; + ioInfo.end += response._timeOrigin; + env = ioInfo.start; + var endTime = ioInfo.end; + if (supportsUserTiming && 0 <= endTime) { + var name = ioInfo.name, + env$jscomp$0 = ioInfo.env; + response = + env$jscomp$0 === response._rootEnvironmentName || + void 0 === env$jscomp$0 + ? name + : name + " [" + env$jscomp$0 + "]"; + ioInfo = ioInfo.debugTask; + name = getIOColor(name); + ioInfo + ? ioInfo.run( + console.timeStamp.bind( + console, + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ) + ) + : console.timeStamp( + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ); + } + } + function resolveIOInfo(response, id, model) { + var chunks = response._chunks, + chunk = chunks.get(id); + chunk + ? (resolveModelChunk(chunk, model), + "resolved_model" === chunk.status && initializeModelChunk(chunk)) + : ((chunk = new ReactPromise("resolved_model", model, null, response)), + chunks.set(id, chunk), + initializeModelChunk(chunk)); + "fulfilled" === chunk.status + ? initializeIOInfo(response, chunk.value) + : chunk.then( + function (v) { + initializeIOInfo(response, v); + }, + function () {} + ); + } function mergeBuffer(buffer, lastChunk) { for ( var l = buffer.length, byteLength = lastChunk.length, i = 0; @@ -2510,119 +2620,117 @@ parentEndTime ) { if (!isArrayImpl(root._children)) { - response = root._children; - root = response.endTime; + root = root._children; + var previousEndTime = root.endTime; if ( -Infinity < parentEndTime && - parentEndTime < root && - null !== response.component + parentEndTime < previousEndTime && + null !== root.component ) { - var componentInfo = response.component, - trackIdx = trackIdx$jscomp$0, - startTime = parentEndTime; - supportsUserTiming && - 0 <= root && - 10 > trackIdx && - ((parentEndTime = componentInfo.name + " [deduped]"), + var componentInfo = root.component, + trackIdx = trackIdx$jscomp$0; + if (supportsUserTiming && 0 <= previousEndTime && 10 > trackIdx) { + response = + componentInfo.env === response._rootEnvironmentName + ? "primary-light" + : "secondary-light"; + var entryName = componentInfo.name + " [deduped]"; (componentInfo = componentInfo.debugTask) ? componentInfo.run( console.timeStamp.bind( console, - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" + response ) ) : console.timeStamp( - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" - )); + response + ); + } } - response.track = trackIdx$jscomp$0; - return response; + root.track = trackIdx$jscomp$0; + return root; } - var children = root._children; + entryName = root._children; "resolved_model" === root.status && initializeModelChunk(root); - if ((trackIdx = root._debugInfo)) { - for ( - componentInfo = 1; - componentInfo < trackIdx.length; - componentInfo++ - ) + if ((previousEndTime = root._debugInfo)) { + for (trackIdx = 1; trackIdx < previousEndTime.length; trackIdx++) if ( - "string" === typeof trackIdx[componentInfo].name && - ((startTime = trackIdx[componentInfo - 1]), - "number" === typeof startTime.time) + "string" === typeof previousEndTime[trackIdx].name && + ((componentInfo = previousEndTime[trackIdx - 1]), + "number" === typeof componentInfo.time) ) { - componentInfo = startTime.time; - componentInfo < trackTime && trackIdx$jscomp$0++; - trackTime = componentInfo; + trackIdx = componentInfo.time; + trackIdx < trackTime && trackIdx$jscomp$0++; + trackTime = trackIdx; break; } - for ( - componentInfo = trackIdx.length - 1; - 0 <= componentInfo; - componentInfo-- - ) - (startTime = trackIdx[componentInfo]), - "number" === typeof startTime.time && - startTime.time > parentEndTime && - (parentEndTime = startTime.time); + for (trackIdx = previousEndTime.length - 1; 0 <= trackIdx; trackIdx--) + (componentInfo = previousEndTime[trackIdx]), + "number" === typeof componentInfo.time && + componentInfo.time > parentEndTime && + (parentEndTime = componentInfo.time); } - componentInfo = { + trackIdx = { track: trackIdx$jscomp$0, endTime: -Infinity, component: null }; - root._children = componentInfo; - startTime = -Infinity; + root._children = trackIdx; + componentInfo = -Infinity; var childTrackIdx = trackIdx$jscomp$0, childTrackTime = trackTime; - for (trackTime = 0; trackTime < children.length; trackTime++) { + for (trackTime = 0; trackTime < entryName.length; trackTime++) { childTrackTime = flushComponentPerformance( response, - children[trackTime], + entryName[trackTime], childTrackIdx, childTrackTime, parentEndTime ); null !== childTrackTime.component && - (componentInfo.component = childTrackTime.component); + (trackIdx.component = childTrackTime.component); childTrackIdx = childTrackTime.track; var childEndTime = childTrackTime.endTime; childTrackTime = childEndTime; - childEndTime > startTime && (startTime = childEndTime); + childEndTime > componentInfo && (componentInfo = childEndTime); } - if (trackIdx) + if (previousEndTime) for ( - parentEndTime = 0, childTrackIdx = !0, children = trackIdx.length - 1; - 0 <= children; - children-- + entryName = 0, + childTrackTime = !0, + parentEndTime = previousEndTime.length - 1; + 0 <= parentEndTime; + parentEndTime-- ) if ( - ((trackTime = trackIdx[children]), + ((trackTime = previousEndTime[parentEndTime]), "number" === typeof trackTime.time && - ((parentEndTime = trackTime.time), - parentEndTime > startTime && (startTime = parentEndTime)), - "string" === typeof trackTime.name && 0 < children) + (trackTime.time > componentInfo && + (componentInfo = trackTime.time), + 0 === entryName && (entryName = trackTime.time)), + "string" === typeof trackTime.name && 0 < parentEndTime) ) { - childTrackTime = trackIdx[children - 1]; - if ("number" === typeof childTrackTime.time) { - childTrackTime = childTrackTime.time; + childTrackIdx = previousEndTime[parentEndTime - 1]; + if ("number" === typeof childTrackIdx.time) { + childTrackIdx = childTrackIdx.time; if ( - childTrackIdx && + childTrackTime && "rejected" === root.status && root.reason !== response._closedReason ) { - childTrackIdx = trackIdx$jscomp$0; - childEndTime = startTime; + entryName = trackIdx$jscomp$0; + childTrackTime = childTrackIdx; + childEndTime = componentInfo; var error = root.reason; if (supportsUserTiming) { var env = trackTime.env, @@ -2639,7 +2747,7 @@ detail: { devtools: { color: "error", - track: trackNames[childTrackIdx], + track: trackNames[entryName], trackGroup: "Server Components \u269b", tooltipText: env + " Errored", properties: [ @@ -2659,30 +2767,31 @@ env, 0 > childTrackTime ? 0 : childTrackTime, childEndTime, - trackNames[childTrackIdx], + trackNames[entryName], "Server Components \u269b", "error" ); } } else if ( - ((childTrackIdx = trackIdx$jscomp$0), - (childEndTime = startTime), - supportsUserTiming && 0 <= childEndTime && 10 > childTrackIdx) + ((childTrackTime = trackIdx$jscomp$0), + (childEndTime = childTrackIdx), + (error = componentInfo), + supportsUserTiming && 0 <= error && 10 > childTrackTime) ) { env = trackTime.env; name = trackTime.name; var isPrimaryEnv = env === response._rootEnvironmentName; - error = parentEndTime - childTrackTime; - error = - 0.5 > error + entryName -= childEndTime; + entryName = + 0.5 > entryName ? isPrimaryEnv ? "primary-light" : "secondary-light" - : 50 > error + : 50 > entryName ? isPrimaryEnv ? "primary" : "secondary" - : 500 > error + : 500 > entryName ? isPrimaryEnv ? "primary-dark" : "secondary-dark" @@ -2696,28 +2805,72 @@ console.timeStamp.bind( console, env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ) ) : console.timeStamp( env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ); } - componentInfo.component = trackTime; + trackIdx.component = trackTime; + entryName = childTrackIdx; } - childTrackIdx = !1; + childTrackTime = !1; + } else if ( + trackTime.awaited && + 0 < parentEndTime && + parentEndTime < previousEndTime.length - 2 && + ((childEndTime = previousEndTime[parentEndTime - 1]), + (error = previousEndTime[parentEndTime + 1]), + "number" === typeof childEndTime.time && + "number" === typeof error.time && + ((childTrackIdx = trackTime), + (trackTime = trackIdx$jscomp$0), + (childEndTime = childEndTime.time), + (error = error.time), + supportsUserTiming && 0 < error)) + ) { + name = childTrackIdx.env; + isPrimaryEnv = childTrackIdx.awaited.name; + var isPrimaryEnv$jscomp$0 = name === response._rootEnvironmentName; + env = getIOColor(isPrimaryEnv); + name = + "await " + + (isPrimaryEnv$jscomp$0 || void 0 === name + ? isPrimaryEnv + : isPrimaryEnv + " [" + name + "]"); + (childTrackIdx = childTrackIdx.debugTask) + ? childTrackIdx.run( + console.timeStamp.bind( + console, + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ) + ) + : console.timeStamp( + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ); } - componentInfo.endTime = startTime; - return componentInfo; + trackIdx.endTime = componentInfo; + return trackIdx; } function processFullBinaryRow(response, id, tag, buffer, chunk) { switch (tag) { @@ -2810,6 +2963,9 @@ function () {} ); break; + case 74: + resolveIOInfo(response, id, row); + break; case 87: resolveConsoleEntry(response, row); break; @@ -2891,7 +3047,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2998,6 +3160,7 @@ ReactSharedInteralsServer; ReactPromise.prototype = Object.create(Promise.prototype); ReactPromise.prototype.then = function (resolve, reject) { + var _this = this; switch (this.status) { case "resolved_model": initializeModelChunk(this); @@ -3005,6 +3168,19 @@ case "resolved_module": initializeModuleChunk(this); } + var resolveCallback = resolve, + rejectCallback = reject, + wrapperPromise = new Promise(function (res, rej) { + resolve = function (value) { + wrapperPromise._debugInfo = _this._debugInfo; + res(value); + }; + reject = function (reason) { + wrapperPromise._debugInfo = _this._debugInfo; + rej(reason); + }; + }); + wrapperPromise.then(resolveCallback, rejectCallback); switch (this.status) { case "fulfilled": resolve(this.value); @@ -3037,6 +3213,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -3101,6 +3278,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.node.production.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.node.production.js index 967297f1ae9df..6909740b44778 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.node.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.node.production.js @@ -1614,6 +1614,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.development.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.development.js index 77f700e58fde8..c3a0107f1be3f 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.development.js @@ -266,43 +266,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -601,32 +607,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -642,8 +641,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -803,7 +801,17 @@ this.didWarnForKey = null; type = this.timeOrigin = performance.now(); emitTimeOriginChunk(this, type + performance.timeOrigin); - model = createTask(this, model, null, !1, abortSet, null, null, null); + model = createTask( + this, + model, + null, + !1, + abortSet, + type, + null, + null, + null + ); pingedTasks.push(model); } function createRequest( @@ -865,6 +873,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -970,6 +979,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1044,6 +1054,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1108,7 +1119,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1210,13 +1221,17 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; outlineComponentInfo(request, componentDebugInfo); task.timed = !0; - emitTimingChunk(request, componentDebugID, performance.now()); + emitTimingChunk( + request, + componentDebugID, + (task.time = performance.now()) + ); emitDebugChunk(request, componentDebugID, componentDebugInfo); task.environmentName = componentEnv; 2 === validated && @@ -1330,6 +1345,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1344,6 +1360,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1378,7 +1395,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1457,7 +1477,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1483,6 +1503,7 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask @@ -1532,6 +1553,7 @@ thenableState: null, timed: !1 }; + task.time = lastTimestamp; task.environmentName = request.environmentName(); task.debugOwner = debugOwner; task.debugStack = debugStack; @@ -1631,6 +1653,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1729,6 +1752,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1781,6 +1805,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -2173,7 +2198,10 @@ env = request.environmentName(); try { reason = String(postponeInstance.message); - var stack = filterStackTrace(request, postponeInstance, 0); + var stack = filterStackTrace( + request, + parseStackTrace(postponeInstance, 0) + ); } catch (x) { stack = []; } @@ -2191,7 +2219,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2216,7 +2244,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2292,6 +2320,31 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + id = stringToChunk(id); + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { if (TaintRegistryByteLengths.has(typedArray.byteLength)) { var tainted = TaintRegistryValues.get( @@ -2370,7 +2423,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2591,14 +2647,44 @@ timeOrigin = stringToChunk(":N" + timeOrigin + "\n"); request.completedRegularChunks.push(timeOrigin); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" === typeof debugInfo[i].time - ? emitTimingChunk(request, id, debugInfo[i].time) - : (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" === typeof debugInfo[i].time) + emitTimingChunk(request$jscomp$0, id$jscomp$0, debugInfo[i].time); + else if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set(ioInfo$jscomp$0, serializeByValueID(id)); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitTimingChunk(request, id, timestamp) { request.pendingChunks++; @@ -2643,7 +2729,8 @@ emitModelChunk(request, task.id, value)); } function erroredTask(request, task, error) { - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); task.status = ERRORED$1; if ( "object" === typeof error && @@ -2682,7 +2769,8 @@ currentEnv !== task.environmentName && (request.pendingChunks++, emitDebugChunk(request, task.id, { env: currentEnv })); - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); if ("object" === typeof resolvedModel && null !== resolvedModel) request.writtenObjects.set( resolvedModel, @@ -2762,7 +2850,8 @@ function abortTask(task, request, errorId) { task.status !== RENDERING && ((task.status = ABORTED), - task.timed && emitTimingChunk(request, task.id, performance.now()), + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())), (errorId = serializeByValueID(errorId)), (task = encodeReferenceChunk(request, task.id, errorId)), request.completedErrorChunks.push(task)); @@ -3910,6 +3999,7 @@ identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { @@ -4019,11 +4109,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -4112,8 +4202,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.production.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.production.js index eb68d6008c0fc..ea6e62c97a9df 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.production.js @@ -556,13 +556,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -868,8 +862,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -943,8 +937,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -2030,12 +2024,12 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason, digest = logRecoverableError(request, error, null), - errorId$28 = request.nextChunkId++; - request.fatalError = errorId$28; + errorId$27 = request.nextChunkId++; + request.fatalError = errorId$27; request.pendingChunks++; - emitErrorChunk(request, errorId$28, digest, error); + emitErrorChunk(request, errorId$27, digest, error); abortableTasks.forEach(function (task) { - return abortTask(task, request, errorId$28); + return abortTask(task, request, errorId$27); }); } abortableTasks.clear(); @@ -2043,7 +2037,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$29 = + var error$28 = "object" === typeof reason && null !== reason && reason.$$typeof === REACT_POSTPONE_TYPE @@ -2056,15 +2050,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$29); + return callback(error$28); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$30) { - logRecoverableError(request, error$30, null), fatalError(request, error$30); + } catch (error$29) { + logRecoverableError(request, error$29, null), fatalError(request, error$29); } } function resolveServerReference(bundlerConfig, id) { @@ -2510,8 +2504,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$33 = createPendingChunk(response); - chunk$33.then( + var chunk$32 = createPendingChunk(response); + chunk$32.then( function (v) { return controller.enqueue(v); }, @@ -2519,10 +2513,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$33; + previousBlockedChunk = chunk$32; chunk.then(function () { - previousBlockedChunk === chunk$33 && (previousBlockedChunk = null); - resolveModelChunk(chunk$33, json, -1); + previousBlockedChunk === chunk$32 && (previousBlockedChunk = null); + resolveModelChunk(chunk$32, json, -1); }); } }, diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.development.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.development.js index 45216c65d2f7a..b5511f9ef24ee 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.development.js @@ -279,43 +279,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -617,32 +623,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -658,8 +657,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -819,7 +817,17 @@ this.didWarnForKey = null; type = this.timeOrigin = performance.now(); emitTimeOriginChunk(this, type + performance.timeOrigin); - model = createTask(this, model, null, !1, abortSet, null, null, null); + model = createTask( + this, + model, + null, + !1, + abortSet, + type, + null, + null, + null + ); pingedTasks.push(model); } function createRequest( @@ -889,6 +897,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -994,6 +1003,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1068,6 +1078,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1132,7 +1143,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1234,13 +1245,17 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; outlineComponentInfo(request, componentDebugInfo); task.timed = !0; - emitTimingChunk(request, componentDebugID, performance.now()); + emitTimingChunk( + request, + componentDebugID, + (task.time = performance.now()) + ); emitDebugChunk(request, componentDebugID, componentDebugInfo); task.environmentName = componentEnv; 2 === validated && @@ -1402,6 +1417,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1416,6 +1432,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1450,7 +1467,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1529,7 +1549,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1555,6 +1575,7 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask @@ -1604,6 +1625,7 @@ thenableState: null, timed: !1 }; + task.time = lastTimestamp; task.environmentName = request.environmentName(); task.debugOwner = debugOwner; task.debugStack = debugStack; @@ -1703,6 +1725,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1801,6 +1824,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1853,6 +1877,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -2267,7 +2292,10 @@ env = request.environmentName(); try { reason = String(postponeInstance.message); - var stack = filterStackTrace(request, postponeInstance, 0); + var stack = filterStackTrace( + request, + parseStackTrace(postponeInstance, 0) + ); } catch (x) { stack = []; } @@ -2285,7 +2313,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2310,7 +2338,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2386,6 +2414,31 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + id = stringToChunk(id); + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { if (TaintRegistryByteLengths.has(typedArray.byteLength)) { var tainted = TaintRegistryValues.get( @@ -2464,7 +2517,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2685,14 +2741,44 @@ timeOrigin = stringToChunk(":N" + timeOrigin + "\n"); request.completedRegularChunks.push(timeOrigin); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" === typeof debugInfo[i].time - ? emitTimingChunk(request, id, debugInfo[i].time) - : (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" === typeof debugInfo[i].time) + emitTimingChunk(request$jscomp$0, id$jscomp$0, debugInfo[i].time); + else if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set(ioInfo$jscomp$0, serializeByValueID(id)); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitTimingChunk(request, id, timestamp) { request.pendingChunks++; @@ -2737,7 +2823,8 @@ emitModelChunk(request, task.id, value)); } function erroredTask(request, task, error) { - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); task.status = ERRORED$1; if ( "object" === typeof error && @@ -2776,7 +2863,8 @@ currentEnv !== task.environmentName && (request.pendingChunks++, emitDebugChunk(request, task.id, { env: currentEnv })); - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); if ("object" === typeof resolvedModel && null !== resolvedModel) request.writtenObjects.set( resolvedModel, @@ -2856,7 +2944,8 @@ function abortTask(task, request, errorId) { task.status !== RENDERING && ((task.status = ABORTED), - task.timed && emitTimingChunk(request, task.id, performance.now()), + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())), (errorId = serializeByValueID(errorId)), (task = encodeReferenceChunk(request, task.id, errorId)), request.completedErrorChunks.push(task)); @@ -4016,20 +4105,13 @@ identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), supportsRequestStorage = "function" === typeof AsyncLocalStorage, requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null, supportsComponentStorage = supportsRequestStorage, componentStorage = supportsComponentStorage ? new AsyncLocalStorage() : null, - createAsyncHook = - "object" === typeof async_hooks - ? async_hooks.createHook - : function () { - return { enable: function () {}, disable: function () {} }; - }, - executionAsyncId = - "object" === typeof async_hooks ? async_hooks.executionAsyncId : null, TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { @@ -4125,11 +4207,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -4216,17 +4298,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); - (function () { - createAsyncHook({ - init: function () {}, - promiseResolve: function () { - executionAsyncId(); - }, - destroy: function () {} - }).enable(); - })(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.production.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.production.js index 2c4c8df16b7dd..ff7c1ec641b1a 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.production.js @@ -396,14 +396,8 @@ function trimOptions(options) { return hasProperties ? trimmed : null; } var supportsRequestStorage = "function" === typeof AsyncLocalStorage, - requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null; -"object" === typeof async_hooks - ? async_hooks.createHook - : function () { - return { enable: function () {}, disable: function () {} }; - }; -"object" === typeof async_hooks ? async_hooks.executionAsyncId : null; -var TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), + requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null, + TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { switch (name) { @@ -563,13 +557,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -882,8 +870,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -957,8 +945,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -2052,12 +2040,12 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason, digest = logRecoverableError(request, error, null), - errorId$28 = request.nextChunkId++; - request.fatalError = errorId$28; + errorId$27 = request.nextChunkId++; + request.fatalError = errorId$27; request.pendingChunks++; - emitErrorChunk(request, errorId$28, digest, error); + emitErrorChunk(request, errorId$27, digest, error); abortableTasks.forEach(function (task) { - return abortTask(task, request, errorId$28); + return abortTask(task, request, errorId$27); }); } abortableTasks.clear(); @@ -2065,7 +2053,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$29 = + var error$28 = "object" === typeof reason && null !== reason && reason.$$typeof === REACT_POSTPONE_TYPE @@ -2078,15 +2066,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$29); + return callback(error$28); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$30) { - logRecoverableError(request, error$30, null), fatalError(request, error$30); + } catch (error$29) { + logRecoverableError(request, error$29, null), fatalError(request, error$29); } } function resolveServerReference(bundlerConfig, id) { @@ -2532,8 +2520,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$33 = createPendingChunk(response); - chunk$33.then( + var chunk$32 = createPendingChunk(response); + chunk$32.then( function (v) { return controller.enqueue(v); }, @@ -2541,10 +2529,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$33; + previousBlockedChunk = chunk$32; chunk.then(function () { - previousBlockedChunk === chunk$33 && (previousBlockedChunk = null); - resolveModelChunk(chunk$33, json, -1); + previousBlockedChunk === chunk$32 && (previousBlockedChunk = null); + resolveModelChunk(chunk$32, json, -1); }); } }, diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.development.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.development.js index 659dab338e81b..63d5aa8600c61 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.development.js @@ -220,6 +220,15 @@ ((hasProperties = !0), (trimmed[key] = options[key])); return hasProperties ? trimmed : null; } + function resolveOwner() { + if (currentOwner) return currentOwner; + var owner = componentStorage.getStore(); + return owner ? owner : null; + } + function getCurrentAsyncSequence() { + var currentNode = pendingOperations.get(async_hooks.executionAsyncId()); + return void 0 === currentNode ? null : currentNode; + } function collectStackTrace(error, structuredStackTrace) { for ( var result = [], i = framesToSkip; @@ -289,43 +298,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -416,11 +431,6 @@ function unsupportedContext() { throw Error("Cannot read a Client Context from a Server Component."); } - function resolveOwner() { - if (currentOwner) return currentOwner; - var owner = componentStorage.getStore(); - return owner ? owner : null; - } function prepareStackTrace(error, structuredStackTrace) { error = (error.name || "Error") + ": " + (error.message || ""); for (var i = 0; i < structuredStackTrace.length; i++) @@ -632,32 +642,27 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; + function devirtualizeURL(url) { + if (url.startsWith("rsc://React/")) { + var envIdx = url.indexOf("/", 12), + suffixIdx = url.lastIndexOf("?"); + if (-1 < envIdx && -1 < suffixIdx) + return url.slice(envIdx + 1, suffixIdx); } + return url; + } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], functionName = callsite[0], - url = callsite[1]; - if (url.startsWith("rsc://React/")) { - var envIdx = url.indexOf("/", 12), - suffixIdx = url.lastIndexOf("?"); - -1 < envIdx && - -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); - } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + url = devirtualizeURL(callsite[1]); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -673,8 +678,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -834,7 +838,17 @@ this.didWarnForKey = null; type = this.timeOrigin = performance.now(); emitTimeOriginChunk(this, type + performance.timeOrigin); - model = createTask(this, model, null, !1, abortSet, null, null, null); + model = createTask( + this, + model, + null, + !1, + abortSet, + type, + null, + null, + null + ); pingedTasks.push(model); } function createRequest( @@ -901,6 +915,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1006,6 +1021,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1080,6 +1096,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1143,7 +1160,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1245,13 +1262,17 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; outlineComponentInfo(request, componentDebugInfo); task.timed = !0; - emitTimingChunk(request, componentDebugID, performance.now()); + emitTimingChunk( + request, + componentDebugID, + (task.time = performance.now()) + ); emitDebugChunk(request, componentDebugID, componentDebugInfo); task.environmentName = componentEnv; 2 === validated && @@ -1391,6 +1412,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1405,6 +1427,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1439,7 +1462,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1518,17 +1544,112 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; return task; } + function visitAsyncNode(request, task, node, cutOff, visited) { + if (visited.has(node)) return null; + visited.add(node); + null !== node.previous && + visitAsyncNode(request, task, node.previous, cutOff, visited); + switch (node.tag) { + case 0: + return node; + case 3: + return null; + case 1: + if (node.end < cutOff) return null; + var awaited = node.awaited, + match = null; + null !== awaited && + ((cutOff = visitAsyncNode(request, task, awaited, cutOff, visited)), + null !== cutOff && + (0 === + filterStackTrace(request, parseStackTrace(node.stack, 1)).length + ? (0 > cutOff.end && (cutOff.end = node.end), (match = cutOff)) + : (match = node))); + node = node.debugInfo; + null !== node && forwardDebugInfo(request, task.id, node); + return match; + case 4: + case 2: + awaited = node.awaited; + match = null; + if ( + null !== awaited && + ((visited = visitAsyncNode( + request, + task, + awaited, + cutOff, + visited + )), + null !== visited) + ) { + var endTime = + 4 === node.tag + ? visited.end < node.start + ? node.start + : visited.end + : node.end; + endTime < cutOff || + ((awaited = filterStackTrace( + request, + parseStackTrace(node.stack, 1) + )), + 0 === awaited.length + ? (match = visited) + : (0 > visited.end && (visited.end = endTime), + serializeIONode(request, visited), + (endTime = (0, request.environmentName)()), + node.start <= cutOff + ? emitTimingChunk(request, task.id, cutOff) + : emitTimingChunk(request, task.id, node.start), + request.pendingChunks++, + emitDebugChunk(request, task.id, { + awaited: visited, + env: endTime, + owner: node.owner, + stack: awaited + }), + emitTimingChunk(request, task.id, node.end))); + } + 4 === node.tag + ? ((node = node.debugInfo.deref()), + (node = + void 0 === node || void 0 === node._debugInfo + ? null + : node._debugInfo)) + : (node = node.debugInfo); + null !== node && forwardDebugInfo(request, task.id, node); + return match; + default: + throw Error("Unknown AsyncSequence tag. This is a bug in React."); + } + } + function emitAsyncSequence(request, task, node, cutOff) { + var visited = new Set(); + node = visitAsyncNode(request, task, node, cutOff, visited); + null !== node && + (0 > node.end && (node.end = performance.now()), + serializeIONode(request, node), + request.pendingChunks++, + (visited = (0, request.environmentName)()), + emitTimingChunk(request, task.id, cutOff), + emitDebugChunk(request, task.id, { awaited: node, env: visited }), + emitTimingChunk(request, task.id, node.end)); + } function pingTask(request, task) { task.timed = !0; - var pingedTasks = request.pingedTasks; - pingedTasks.push(task); - 1 === pingedTasks.length && + var sequence = getCurrentAsyncSequence(); + null !== sequence && + emitAsyncSequence(request, task, sequence, task.time); + sequence = request.pingedTasks; + sequence.push(task); + 1 === sequence.length && ((request.flushScheduled = null !== request.destination), request.type === PRERENDER || request.status === OPENING ? scheduleMicrotask(function () { @@ -1544,6 +1665,7 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask @@ -1593,6 +1715,7 @@ thenableState: null, timed: !1 }; + task.time = lastTimestamp; task.environmentName = request.environmentName(); task.debugOwner = debugOwner; task.debugStack = debugStack; @@ -1690,6 +1813,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1788,6 +1912,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1840,6 +1965,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -2245,7 +2371,10 @@ env = request.environmentName(); try { reason = String(postponeInstance.message); - var stack = filterStackTrace(request, postponeInstance, 0); + var stack = filterStackTrace( + request, + parseStackTrace(postponeInstance, 0) + ); } catch (x) { stack = []; } @@ -2262,7 +2391,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2287,7 +2416,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2360,6 +2489,86 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + request.completedRegularChunks.push(id); + } + function serializeIONode(request, ioNode) { + var existingRef = request.writtenObjects.get(ioNode); + if (void 0 !== existingRef) return existingRef; + existingRef = null; + var name = ""; + if (null !== ioNode.stack) { + name = parseStackTrace(ioNode.stack, 1); + existingRef = filterStackTrace(request, name); + a: { + for ( + var bestMatch = "", + filterStackFrame = request.filterStackFrame, + i = 0; + i < name.length; + i++ + ) { + var callsite = name[i], + functionName = callsite[0]; + callsite = devirtualizeURL(callsite[1]); + if (filterStackFrame(callsite, functionName)) { + if ("" === bestMatch) { + name = functionName; + break a; + } + name = bestMatch; + break a; + } else + "new Promise" !== functionName && + "node:internal/async_hooks" !== callsite && + (bestMatch = functionName); + } + name = ""; + } + name.startsWith("Window.") + ? (name = name.slice(7)) + : name.startsWith(".") && (name = name.slice(7)); + } + bestMatch = ioNode.owner; + null != bestMatch && outlineComponentInfo(request, bestMatch); + filterStackFrame = (0, request.environmentName)(); + request.pendingChunks++; + i = request.nextChunkId++; + emitIOInfoChunk( + request, + i, + name, + ioNode.start, + ioNode.end, + filterStackFrame, + bestMatch, + existingRef + ); + existingRef = serializeByValueID(i); + request.writtenObjects.set(ioNode, existingRef); + return existingRef; + } function emitTypedArrayChunk(request, id, tag, typedArray) { if (TaintRegistryByteLengths.has(typedArray.byteLength)) { var tainted = TaintRegistryValues.get( @@ -2434,7 +2643,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2652,14 +2864,44 @@ request.pendingChunks++; request.completedRegularChunks.push(":N" + timeOrigin + "\n"); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" === typeof debugInfo[i].time - ? emitTimingChunk(request, id, debugInfo[i].time) - : (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" === typeof debugInfo[i].time) + emitTimingChunk(request$jscomp$0, id$jscomp$0, debugInfo[i].time); + else if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set(ioInfo$jscomp$0, serializeByValueID(id)); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitTimingChunk(request, id, timestamp) { request.pendingChunks++; @@ -2703,7 +2945,8 @@ emitModelChunk(request, task.id, value)); } function erroredTask(request, task, error) { - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); task.status = ERRORED$1; if ( "object" === typeof error && @@ -2742,7 +2985,8 @@ currentEnv !== task.environmentName && (request.pendingChunks++, emitDebugChunk(request, task.id, { env: currentEnv })); - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); if ("object" === typeof resolvedModel && null !== resolvedModel) request.writtenObjects.set( resolvedModel, @@ -2800,6 +3044,7 @@ } } function performWork(request) { + pendingOperations.delete(async_hooks.executionAsyncId()); var prevDispatcher = ReactSharedInternalsServer.H; ReactSharedInternalsServer.H = HooksDispatcher; var prevRequest = currentRequest; @@ -2822,7 +3067,8 @@ function abortTask(task, request, errorId) { task.status !== RENDERING && ((task.status = ABORTED), - task.timed && emitTimingChunk(request, task.id, performance.now()), + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())), (errorId = serializeByValueID(errorId)), (task = encodeReferenceChunk(request, task.id, errorId)), request.completedErrorChunks.push(task)); @@ -3988,11 +4234,14 @@ } } }; - var framesToSkip = 0, + var currentOwner = null, + pendingOperations = new Map(), + framesToSkip = 0, collectedStackTrace = null, identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), requestStorage = new async_hooks.AsyncLocalStorage(), componentStorage = new async_hooks.AsyncLocalStorage(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), @@ -4104,11 +4353,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -4125,16 +4374,15 @@ } }; HooksDispatcher.useEffectEvent = unsupportedHook; - var currentOwner = null, - DefaultAsyncDispatcher = { - getCacheForType: function (resourceType) { - var cache = (cache = resolveRequest()) ? cache.cache : new Map(); - var entry = cache.get(resourceType); - void 0 === entry && - ((entry = resourceType()), cache.set(resourceType, entry)); - return entry; - } - }; + var DefaultAsyncDispatcher = { + getCacheForType: function (resourceType) { + var cache = (cache = resolveRequest()) ? cache.cache : new Map(); + var entry = cache.get(resourceType); + void 0 === entry && + ((entry = resourceType()), cache.set(resourceType, entry)); + return entry; + } + }; DefaultAsyncDispatcher.getOwner = resolveOwner; var ReactSharedInternalsServer = React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; @@ -4195,16 +4443,111 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); (function () { async_hooks .createHook({ - init: function () {}, - promiseResolve: function () { - async_hooks.executionAsyncId(); + init: function (asyncId, type, triggerAsyncId, resource) { + var trigger = pendingOperations.get(triggerAsyncId); + if ("PROMISE" === type) + if ( + ((type = async_hooks.executionAsyncId()), + type !== triggerAsyncId) + ) { + if (void 0 === trigger) return; + triggerAsyncId = pendingOperations.get(type); + resource = { + tag: 4, + owner: resolveOwner(), + debugInfo: new WeakRef(resource), + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: trigger, + previous: void 0 === triggerAsyncId ? null : triggerAsyncId + }; + } else + resource = { + tag: 3, + owner: resolveOwner(), + debugInfo: new WeakRef(resource), + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: void 0 === trigger ? null : trigger, + previous: null + }; + else if ( + "Microtask" !== type && + "TickObject" !== type && + "Immediate" !== type + ) + resource = + void 0 === trigger + ? { + tag: 0, + owner: resolveOwner(), + debugInfo: null, + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: null, + previous: null + } + : 2 === trigger.tag || 4 === trigger.tag + ? { + tag: 0, + owner: resolveOwner(), + debugInfo: null, + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: null, + previous: trigger + } + : trigger; + else { + if (void 0 === trigger) return; + resource = trigger; + } + pendingOperations.set(asyncId, resource); }, - destroy: function () {} + promiseResolve: function (asyncId) { + var node = pendingOperations.get(asyncId); + if (void 0 !== node) { + switch (node.tag) { + case 4: + node.tag = 2; + var resolvedNode = node; + break; + case 3: + node.tag = 1; + resolvedNode = node; + break; + case 0: + throw Error( + "A Promise should never be an IO_NODE. This is a bug in React." + ); + default: + throw Error( + "A Promise should never be resolved twice. This is a bug in React or Node.js." + ); + } + resolvedNode.end = performance.now(); + node = node.debugInfo.deref(); + resolvedNode.debugInfo = + void 0 === node || void 0 === node._debugInfo + ? null + : node._debugInfo; + node = async_hooks.executionAsyncId(); + asyncId !== node && + ((asyncId = pendingOperations.get(node)), + (resolvedNode.awaited = void 0 === asyncId ? null : asyncId)); + } + }, + destroy: function (asyncId) { + pendingOperations.delete(asyncId); + } }) .enable(); })(); @@ -4365,12 +4708,12 @@ "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_159 = []; + var JSCompiler_object_inline_chunks_174 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_159.push(chunk); + JSCompiler_object_inline_chunks_174.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_159, { + var blob = new Blob(JSCompiler_object_inline_chunks_174, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.production.js b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.production.js index fd625fd68e3c5..457c379ed2a2c 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.production.js @@ -574,13 +574,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -890,8 +884,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -965,8 +959,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -2064,12 +2058,12 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason, digest = logRecoverableError(request, error, null), - errorId$28 = request.nextChunkId++; - request.fatalError = errorId$28; + errorId$27 = request.nextChunkId++; + request.fatalError = errorId$27; request.pendingChunks++; - emitErrorChunk(request, errorId$28, digest, error); + emitErrorChunk(request, errorId$27, digest, error); abortableTasks.forEach(function (task) { - return abortTask(task, request, errorId$28); + return abortTask(task, request, errorId$27); }); } abortableTasks.clear(); @@ -2077,7 +2071,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$29 = + var error$28 = "object" === typeof reason && null !== reason && reason.$$typeof === REACT_POSTPONE_TYPE @@ -2090,15 +2084,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$29); + return callback(error$28); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$30) { - logRecoverableError(request, error$30, null), fatalError(request, error$30); + } catch (error$29) { + logRecoverableError(request, error$29, null), fatalError(request, error$29); } } function resolveServerReference(bundlerConfig, id) { @@ -2544,8 +2538,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$33 = createPendingChunk(response); - chunk$33.then( + var chunk$32 = createPendingChunk(response); + chunk$32.then( function (v) { return controller.enqueue(v); }, @@ -2553,10 +2547,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$33; + previousBlockedChunk = chunk$32; chunk.then(function () { - previousBlockedChunk === chunk$33 && (previousBlockedChunk = null); - resolveModelChunk(chunk$33, json, -1); + previousBlockedChunk === chunk$32 && (previousBlockedChunk = null); + resolveModelChunk(chunk$32, json, -1); }); } }, @@ -2929,12 +2923,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, turbopackMap, options) { "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_240 = []; + var JSCompiler_object_inline_chunks_251 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_240.push(chunk); + JSCompiler_object_inline_chunks_251.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_240, { + var blob = new Blob(JSCompiler_object_inline_chunks_251, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-turbopack-experimental/package.json b/packages/next/src/compiled/react-server-dom-turbopack-experimental/package.json index 561db6fc58d1f..cc34f7a177e51 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack-experimental/package.json +++ b/packages/next/src/compiled/react-server-dom-turbopack-experimental/package.json @@ -48,7 +48,7 @@ "neo-async": "^2.6.1" }, "peerDependencies": { - "react": "0.0.0-experimental-14094f80-20250529", - "react-dom": "0.0.0-experimental-14094f80-20250529" + "react": "0.0.0-experimental-37054867-20250604", + "react-dom": "0.0.0-experimental-37054867-20250604" } } \ No newline at end of file diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js index 43f888583fc96..57dc460dd4276 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js @@ -1848,6 +1848,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2001,10 +2002,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2023,8 +2034,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2047,7 +2058,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2061,7 +2073,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2074,13 +2087,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2312,6 +2343,7 @@ function () {} ); break; + case 74: case 87: resolveConsoleEntry(response, row); break; @@ -2389,7 +2421,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2634,6 +2672,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -2698,6 +2737,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { @@ -2731,10 +2771,10 @@ return hook.checkDCE ? !0 : !1; })({ bundleType: 1, - version: "19.2.0-canary-14094f80-20250529", + version: "19.2.0-canary-37054867-20250604", rendererPackageName: "react-server-dom-turbopack", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-canary-14094f80-20250529", + reconcilerVersion: "19.2.0-canary-37054867-20250604", getCurrentComponentInfo: function () { return currentOwnerInDEV; } diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js index 85ff999631cc0..7f01dbecdc6e5 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js @@ -1419,6 +1419,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js index 3bc6a769efa40..187dd626ddd77 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js @@ -2072,6 +2072,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2225,10 +2226,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2247,8 +2258,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2271,7 +2282,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2285,7 +2297,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2298,13 +2311,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2536,6 +2567,7 @@ function () {} ); break; + case 74: case 87: resolveConsoleEntry(response, row); break; @@ -2613,7 +2645,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2866,6 +2904,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -2930,6 +2969,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.production.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.production.js index 5fbc52de5e568..76f9069c715ba 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.production.js @@ -1609,6 +1609,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js index e922794735daf..aa9ee8e614cf1 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js @@ -2072,6 +2072,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2225,10 +2226,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2247,8 +2258,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2271,7 +2282,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2285,7 +2297,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2298,13 +2311,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2536,6 +2567,7 @@ function () {} ); break; + case 74: case 87: resolveConsoleEntry(response, row); break; @@ -2613,7 +2645,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2754,6 +2792,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -2818,6 +2857,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js index a8dfae65734f3..d83f15b4b55d9 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js @@ -1610,6 +1610,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js index b2af4fd56bd5d..8773e09f9f5e5 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js @@ -266,43 +266,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -599,32 +605,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -640,8 +639,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -781,7 +779,7 @@ ? defaultFilterStackFrame : filterStackFrame; this.didWarnForKey = null; - type = createTask(this, model, null, !1, abortSet, null, null, null); + type = createTask(this, model, null, !1, abortSet, 0, null, null, null); pingedTasks.push(type); } function createRequest( @@ -843,6 +841,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -944,6 +943,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1017,6 +1017,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1081,7 +1082,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1183,7 +1184,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; @@ -1301,6 +1302,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1315,6 +1317,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1349,7 +1352,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1428,7 +1434,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1453,19 +1459,20 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask ) { request.pendingChunks++; - var id = request.nextChunkId++; + lastTimestamp = request.nextChunkId++; "object" !== typeof model || null === model || null !== keyPath || implicitSlot || - request.writtenObjects.set(model, serializeByValueID(id)); + request.writtenObjects.set(model, serializeByValueID(lastTimestamp)); var task = { - id: id, + id: lastTimestamp, status: PENDING$1, model: model, keyPath: keyPath, @@ -1600,6 +1607,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1697,6 +1705,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1742,6 +1751,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -2106,7 +2116,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2131,7 +2141,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2207,6 +2217,31 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + id = stringToChunk(id); + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { request.pendingChunks++; var buffer = new Uint8Array( @@ -2272,7 +2307,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2484,13 +2522,46 @@ methodName = stringToChunk(":W" + json + "\n"); request.completedRegularChunks.push(methodName); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" !== typeof debugInfo[i].time && - (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" !== typeof debugInfo[i].time) + if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set( + ioInfo$jscomp$0, + serializeByValueID(id) + ); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitChunk(request, task, value) { var id = task.id; @@ -3744,6 +3815,7 @@ identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { @@ -3852,11 +3924,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -3944,8 +4016,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js index de35ae1e408e4..88b6a175eb21c 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js @@ -554,13 +554,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -838,8 +832,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -912,8 +906,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -1919,7 +1913,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$25 = + var error$24 = void 0 === reason ? Error("The render was aborted by the server without a reason.") : "object" === typeof reason && @@ -1928,15 +1922,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$25); + return callback(error$24); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$26) { - logRecoverableError(request, error$26, null), fatalError(request, error$26); + } catch (error$25) { + logRecoverableError(request, error$25, null), fatalError(request, error$25); } } function resolveServerReference(bundlerConfig, id) { @@ -2382,8 +2376,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$29 = createPendingChunk(response); - chunk$29.then( + var chunk$28 = createPendingChunk(response); + chunk$28.then( function (v) { return controller.enqueue(v); }, @@ -2391,10 +2385,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$29; + previousBlockedChunk = chunk$28; chunk.then(function () { - previousBlockedChunk === chunk$29 && (previousBlockedChunk = null); - resolveModelChunk(chunk$29, json, -1); + previousBlockedChunk === chunk$28 && (previousBlockedChunk = null); + resolveModelChunk(chunk$28, json, -1); }); } }, diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js index eaa865ffa2bda..368bd2fc80877 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js @@ -279,43 +279,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -615,32 +621,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -656,8 +655,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -797,7 +795,7 @@ ? defaultFilterStackFrame : filterStackFrame; this.didWarnForKey = null; - type = createTask(this, model, null, !1, abortSet, null, null, null); + type = createTask(this, model, null, !1, abortSet, 0, null, null, null); pingedTasks.push(type); } function createRequest( @@ -867,6 +865,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -968,6 +967,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1041,6 +1041,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1105,7 +1106,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1207,7 +1208,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; @@ -1373,6 +1374,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1387,6 +1389,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1421,7 +1424,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1500,7 +1506,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1525,19 +1531,20 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask ) { request.pendingChunks++; - var id = request.nextChunkId++; + lastTimestamp = request.nextChunkId++; "object" !== typeof model || null === model || null !== keyPath || implicitSlot || - request.writtenObjects.set(model, serializeByValueID(id)); + request.writtenObjects.set(model, serializeByValueID(lastTimestamp)); var task = { - id: id, + id: lastTimestamp, status: PENDING$1, model: model, keyPath: keyPath, @@ -1672,6 +1679,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1769,6 +1777,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1814,6 +1823,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -2189,7 +2199,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2214,7 +2224,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2290,6 +2300,31 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + id = stringToChunk(id); + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { request.pendingChunks++; var buffer = new Uint8Array( @@ -2355,7 +2390,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2567,13 +2605,46 @@ methodName = stringToChunk(":W" + json + "\n"); request.completedRegularChunks.push(methodName); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" !== typeof debugInfo[i].time && - (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" !== typeof debugInfo[i].time) + if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set( + ioInfo$jscomp$0, + serializeByValueID(id) + ); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitChunk(request, task, value) { var id = task.id; @@ -3838,19 +3909,14 @@ identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), supportsRequestStorage = "function" === typeof AsyncLocalStorage, requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null, supportsComponentStorage = supportsRequestStorage, componentStorage = supportsComponentStorage ? new AsyncLocalStorage() - : null; - "object" === typeof async_hooks - ? async_hooks.createHook - : function () { - return { enable: function () {}, disable: function () {} }; - }; - "object" === typeof async_hooks ? async_hooks.executionAsyncId : null; - var TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), + : null, + TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { switch (name) { @@ -3945,11 +4011,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -4035,8 +4101,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js index 359ec12c8fd0f..abb39e219126d 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js @@ -395,14 +395,8 @@ function trimOptions(options) { return hasProperties ? trimmed : null; } var supportsRequestStorage = "function" === typeof AsyncLocalStorage, - requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null; -"object" === typeof async_hooks - ? async_hooks.createHook - : function () { - return { enable: function () {}, disable: function () {} }; - }; -"object" === typeof async_hooks ? async_hooks.executionAsyncId : null; -var TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), + requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null, + TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { switch (name) { @@ -561,13 +555,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -852,8 +840,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -926,8 +914,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -1939,7 +1927,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$25 = + var error$24 = void 0 === reason ? Error("The render was aborted by the server without a reason.") : "object" === typeof reason && @@ -1948,15 +1936,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$25); + return callback(error$24); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$26) { - logRecoverableError(request, error$26, null), fatalError(request, error$26); + } catch (error$25) { + logRecoverableError(request, error$25, null), fatalError(request, error$25); } } function resolveServerReference(bundlerConfig, id) { @@ -2402,8 +2390,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$29 = createPendingChunk(response); - chunk$29.then( + var chunk$28 = createPendingChunk(response); + chunk$28.then( function (v) { return controller.enqueue(v); }, @@ -2411,10 +2399,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$29; + previousBlockedChunk = chunk$28; chunk.then(function () { - previousBlockedChunk === chunk$29 && (previousBlockedChunk = null); - resolveModelChunk(chunk$29, json, -1); + previousBlockedChunk === chunk$28 && (previousBlockedChunk = null); + resolveModelChunk(chunk$28, json, -1); }); } }, diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js index ab9fc12afd0da..672ba61bdc6f5 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js @@ -220,6 +220,11 @@ ((hasProperties = !0), (trimmed[key] = options[key])); return hasProperties ? trimmed : null; } + function resolveOwner() { + if (currentOwner) return currentOwner; + var owner = componentStorage.getStore(); + return owner ? owner : null; + } function collectStackTrace(error, structuredStackTrace) { for ( var result = [], i = framesToSkip; @@ -289,43 +294,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -416,11 +427,6 @@ function unsupportedContext() { throw Error("Cannot read a Client Context from a Server Component."); } - function resolveOwner() { - if (currentOwner) return currentOwner; - var owner = componentStorage.getStore(); - return owner ? owner : null; - } function prepareStackTrace(error, structuredStackTrace) { error = (error.name || "Error") + ": " + (error.message || ""); for (var i = 0; i < structuredStackTrace.length; i++) @@ -630,32 +636,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -671,8 +670,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -812,7 +810,7 @@ ? defaultFilterStackFrame : filterStackFrame; this.didWarnForKey = null; - type = createTask(this, model, null, !1, abortSet, null, null, null); + type = createTask(this, model, null, !1, abortSet, 0, null, null, null); pingedTasks.push(type); } function createRequest( @@ -879,6 +877,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -980,6 +979,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1053,6 +1053,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1116,7 +1117,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1218,7 +1219,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; @@ -1362,6 +1363,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1376,6 +1378,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1410,7 +1413,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1489,7 +1495,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1514,19 +1520,20 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask ) { request.pendingChunks++; - var id = request.nextChunkId++; + lastTimestamp = request.nextChunkId++; "object" !== typeof model || null === model || null !== keyPath || implicitSlot || - request.writtenObjects.set(model, serializeByValueID(id)); + request.writtenObjects.set(model, serializeByValueID(lastTimestamp)); var task = { - id: id, + id: lastTimestamp, status: PENDING$1, model: model, keyPath: keyPath, @@ -1659,6 +1666,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1756,6 +1764,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1801,6 +1810,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -2171,7 +2181,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2196,7 +2206,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2269,6 +2279,30 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { request.pendingChunks++; typedArray = new Uint8Array( @@ -2330,7 +2364,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2540,13 +2577,46 @@ } request.completedRegularChunks.push(":W" + json + "\n"); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" !== typeof debugInfo[i].time && - (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" !== typeof debugInfo[i].time) + if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set( + ioInfo$jscomp$0, + serializeByValueID(id) + ); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitChunk(request, task, value) { var id = task.id; @@ -3818,11 +3888,13 @@ } } }; - var framesToSkip = 0, + var currentOwner = null, + framesToSkip = 0, collectedStackTrace = null, identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), requestStorage = new async_hooks.AsyncLocalStorage(), componentStorage = new async_hooks.AsyncLocalStorage(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), @@ -3933,11 +4005,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -3953,7 +4025,6 @@ return unsupportedRefresh; } }, - currentOwner = null, DefaultAsyncDispatcher = { getCacheForType: function (resourceType) { var cache = (cache = resolveRequest()) ? cache.cache : new Map(); @@ -4023,8 +4094,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), @@ -4176,12 +4246,12 @@ "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_156 = []; + var JSCompiler_object_inline_chunks_165 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_156.push(chunk); + JSCompiler_object_inline_chunks_165.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_156, { + var blob = new Blob(JSCompiler_object_inline_chunks_165, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js index 05a810d8743c1..675c101f1fc08 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js +++ b/packages/next/src/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js @@ -572,13 +572,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -860,8 +854,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -934,8 +928,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -1955,7 +1949,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$25 = + var error$24 = void 0 === reason ? Error("The render was aborted by the server without a reason.") : "object" === typeof reason && @@ -1964,15 +1958,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$25); + return callback(error$24); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$26) { - logRecoverableError(request, error$26, null), fatalError(request, error$26); + } catch (error$25) { + logRecoverableError(request, error$25, null), fatalError(request, error$25); } } function resolveServerReference(bundlerConfig, id) { @@ -2418,8 +2412,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$29 = createPendingChunk(response); - chunk$29.then( + var chunk$28 = createPendingChunk(response); + chunk$28.then( function (v) { return controller.enqueue(v); }, @@ -2427,10 +2421,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$29; + previousBlockedChunk = chunk$28; chunk.then(function () { - previousBlockedChunk === chunk$29 && (previousBlockedChunk = null); - resolveModelChunk(chunk$29, json, -1); + previousBlockedChunk === chunk$28 && (previousBlockedChunk = null); + resolveModelChunk(chunk$28, json, -1); }); } }, @@ -2803,12 +2797,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, turbopackMap, options) { "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_233 = []; + var JSCompiler_object_inline_chunks_244 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_233.push(chunk); + JSCompiler_object_inline_chunks_244.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_233, { + var blob = new Blob(JSCompiler_object_inline_chunks_244, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-turbopack/package.json b/packages/next/src/compiled/react-server-dom-turbopack/package.json index d4ae6ada3b4d4..b69cc35355d02 100644 --- a/packages/next/src/compiled/react-server-dom-turbopack/package.json +++ b/packages/next/src/compiled/react-server-dom-turbopack/package.json @@ -48,7 +48,7 @@ "neo-async": "^2.6.1" }, "peerDependencies": { - "react": "19.2.0-canary-14094f80-20250529", - "react-dom": "19.2.0-canary-14094f80-20250529" + "react": "19.2.0-canary-37054867-20250604", + "react-dom": "19.2.0-canary-37054867-20250604" } } \ No newline at end of file diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.development.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.development.js index 300f90b388c05..b6b2234f94910 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.development.js @@ -880,6 +880,16 @@ +(error[4] || error[7]) ]; } + function getIOColor(functionName) { + switch (functionName.charCodeAt(0) % 3) { + case 0: + return "tertiary-light"; + case 1: + return "tertiary"; + default: + return "tertiary-dark"; + } + } function getComponentNameFromType(type) { if (null == type) return null; if ("function" === typeof type) @@ -1099,6 +1109,14 @@ "pending" === chunk.status && triggerErrorOnChunk(chunk, error); }); supportsUserTiming && + (console.timeStamp( + "Server Requests Track", + 0.001, + 0.001, + "Server Requests \u269b", + void 0, + "primary-light" + ), console.timeStamp( "Server Components Track", 0.001, @@ -1106,7 +1124,7 @@ "Primary", "Server Components \u269b", "primary-light" - ); + )); flushComponentPerformance( response, getChunk(response, 0), @@ -1892,6 +1910,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -1909,6 +1928,7 @@ response, stack, env, + !1, Error.bind(null, reason || "") ); stack = response._debugRootTask; @@ -2060,10 +2080,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2082,8 +2112,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2106,7 +2136,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2120,7 +2151,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2133,13 +2165,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2250,6 +2300,66 @@ ); } } + function initializeIOInfo(response, ioInfo) { + var env = + void 0 === ioInfo.env ? response._rootEnvironmentName : ioInfo.env; + void 0 !== ioInfo.stack && + (initializeFakeTask(response, ioInfo, env), + initializeFakeStack(response, ioInfo)); + ioInfo.start += response._timeOrigin; + ioInfo.end += response._timeOrigin; + env = ioInfo.start; + var endTime = ioInfo.end; + if (supportsUserTiming && 0 <= endTime) { + var name = ioInfo.name, + env$jscomp$0 = ioInfo.env; + response = + env$jscomp$0 === response._rootEnvironmentName || + void 0 === env$jscomp$0 + ? name + : name + " [" + env$jscomp$0 + "]"; + ioInfo = ioInfo.debugTask; + name = getIOColor(name); + ioInfo + ? ioInfo.run( + console.timeStamp.bind( + console, + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ) + ) + : console.timeStamp( + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ); + } + } + function resolveIOInfo(response, id, model) { + var chunks = response._chunks, + chunk = chunks.get(id); + chunk + ? (resolveModelChunk(chunk, model), + "resolved_model" === chunk.status && initializeModelChunk(chunk)) + : ((chunk = new ReactPromise("resolved_model", model, null, response)), + chunks.set(id, chunk), + initializeModelChunk(chunk)); + "fulfilled" === chunk.status + ? initializeIOInfo(response, chunk.value) + : chunk.then( + function (v) { + initializeIOInfo(response, v); + }, + function () {} + ); + } function mergeBuffer(buffer, lastChunk) { for ( var l = buffer.length, byteLength = lastChunk.length, i = 0; @@ -2293,119 +2403,117 @@ parentEndTime ) { if (!isArrayImpl(root._children)) { - response = root._children; - root = response.endTime; + root = root._children; + var previousEndTime = root.endTime; if ( -Infinity < parentEndTime && - parentEndTime < root && - null !== response.component + parentEndTime < previousEndTime && + null !== root.component ) { - var componentInfo = response.component, - trackIdx = trackIdx$jscomp$0, - startTime = parentEndTime; - supportsUserTiming && - 0 <= root && - 10 > trackIdx && - ((parentEndTime = componentInfo.name + " [deduped]"), + var componentInfo = root.component, + trackIdx = trackIdx$jscomp$0; + if (supportsUserTiming && 0 <= previousEndTime && 10 > trackIdx) { + response = + componentInfo.env === response._rootEnvironmentName + ? "primary-light" + : "secondary-light"; + var entryName = componentInfo.name + " [deduped]"; (componentInfo = componentInfo.debugTask) ? componentInfo.run( console.timeStamp.bind( console, - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" + response ) ) : console.timeStamp( - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" - )); + response + ); + } } - response.track = trackIdx$jscomp$0; - return response; + root.track = trackIdx$jscomp$0; + return root; } - var children = root._children; + entryName = root._children; "resolved_model" === root.status && initializeModelChunk(root); - if ((trackIdx = root._debugInfo)) { - for ( - componentInfo = 1; - componentInfo < trackIdx.length; - componentInfo++ - ) + if ((previousEndTime = root._debugInfo)) { + for (trackIdx = 1; trackIdx < previousEndTime.length; trackIdx++) if ( - "string" === typeof trackIdx[componentInfo].name && - ((startTime = trackIdx[componentInfo - 1]), - "number" === typeof startTime.time) + "string" === typeof previousEndTime[trackIdx].name && + ((componentInfo = previousEndTime[trackIdx - 1]), + "number" === typeof componentInfo.time) ) { - componentInfo = startTime.time; - componentInfo < trackTime && trackIdx$jscomp$0++; - trackTime = componentInfo; + trackIdx = componentInfo.time; + trackIdx < trackTime && trackIdx$jscomp$0++; + trackTime = trackIdx; break; } - for ( - componentInfo = trackIdx.length - 1; - 0 <= componentInfo; - componentInfo-- - ) - (startTime = trackIdx[componentInfo]), - "number" === typeof startTime.time && - startTime.time > parentEndTime && - (parentEndTime = startTime.time); + for (trackIdx = previousEndTime.length - 1; 0 <= trackIdx; trackIdx--) + (componentInfo = previousEndTime[trackIdx]), + "number" === typeof componentInfo.time && + componentInfo.time > parentEndTime && + (parentEndTime = componentInfo.time); } - componentInfo = { + trackIdx = { track: trackIdx$jscomp$0, endTime: -Infinity, component: null }; - root._children = componentInfo; - startTime = -Infinity; + root._children = trackIdx; + componentInfo = -Infinity; var childTrackIdx = trackIdx$jscomp$0, childTrackTime = trackTime; - for (trackTime = 0; trackTime < children.length; trackTime++) { + for (trackTime = 0; trackTime < entryName.length; trackTime++) { childTrackTime = flushComponentPerformance( response, - children[trackTime], + entryName[trackTime], childTrackIdx, childTrackTime, parentEndTime ); null !== childTrackTime.component && - (componentInfo.component = childTrackTime.component); + (trackIdx.component = childTrackTime.component); childTrackIdx = childTrackTime.track; var childEndTime = childTrackTime.endTime; childTrackTime = childEndTime; - childEndTime > startTime && (startTime = childEndTime); + childEndTime > componentInfo && (componentInfo = childEndTime); } - if (trackIdx) + if (previousEndTime) for ( - parentEndTime = 0, childTrackIdx = !0, children = trackIdx.length - 1; - 0 <= children; - children-- + entryName = 0, + childTrackTime = !0, + parentEndTime = previousEndTime.length - 1; + 0 <= parentEndTime; + parentEndTime-- ) if ( - ((trackTime = trackIdx[children]), + ((trackTime = previousEndTime[parentEndTime]), "number" === typeof trackTime.time && - ((parentEndTime = trackTime.time), - parentEndTime > startTime && (startTime = parentEndTime)), - "string" === typeof trackTime.name && 0 < children) + (trackTime.time > componentInfo && + (componentInfo = trackTime.time), + 0 === entryName && (entryName = trackTime.time)), + "string" === typeof trackTime.name && 0 < parentEndTime) ) { - childTrackTime = trackIdx[children - 1]; - if ("number" === typeof childTrackTime.time) { - childTrackTime = childTrackTime.time; + childTrackIdx = previousEndTime[parentEndTime - 1]; + if ("number" === typeof childTrackIdx.time) { + childTrackIdx = childTrackIdx.time; if ( - childTrackIdx && + childTrackTime && "rejected" === root.status && root.reason !== response._closedReason ) { - childTrackIdx = trackIdx$jscomp$0; - childEndTime = startTime; + entryName = trackIdx$jscomp$0; + childTrackTime = childTrackIdx; + childEndTime = componentInfo; var error = root.reason; if (supportsUserTiming) { var env = trackTime.env, @@ -2422,7 +2530,7 @@ detail: { devtools: { color: "error", - track: trackNames[childTrackIdx], + track: trackNames[entryName], trackGroup: "Server Components \u269b", tooltipText: env + " Errored", properties: [ @@ -2442,30 +2550,31 @@ env, 0 > childTrackTime ? 0 : childTrackTime, childEndTime, - trackNames[childTrackIdx], + trackNames[entryName], "Server Components \u269b", "error" ); } } else if ( - ((childTrackIdx = trackIdx$jscomp$0), - (childEndTime = startTime), - supportsUserTiming && 0 <= childEndTime && 10 > childTrackIdx) + ((childTrackTime = trackIdx$jscomp$0), + (childEndTime = childTrackIdx), + (error = componentInfo), + supportsUserTiming && 0 <= error && 10 > childTrackTime) ) { env = trackTime.env; name = trackTime.name; var isPrimaryEnv = env === response._rootEnvironmentName; - error = parentEndTime - childTrackTime; - error = - 0.5 > error + entryName -= childEndTime; + entryName = + 0.5 > entryName ? isPrimaryEnv ? "primary-light" : "secondary-light" - : 50 > error + : 50 > entryName ? isPrimaryEnv ? "primary" : "secondary" - : 500 > error + : 500 > entryName ? isPrimaryEnv ? "primary-dark" : "secondary-dark" @@ -2479,28 +2588,72 @@ console.timeStamp.bind( console, env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ) ) : console.timeStamp( env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ); } - componentInfo.component = trackTime; + trackIdx.component = trackTime; + entryName = childTrackIdx; } - childTrackIdx = !1; + childTrackTime = !1; + } else if ( + trackTime.awaited && + 0 < parentEndTime && + parentEndTime < previousEndTime.length - 2 && + ((childEndTime = previousEndTime[parentEndTime - 1]), + (error = previousEndTime[parentEndTime + 1]), + "number" === typeof childEndTime.time && + "number" === typeof error.time && + ((childTrackIdx = trackTime), + (trackTime = trackIdx$jscomp$0), + (childEndTime = childEndTime.time), + (error = error.time), + supportsUserTiming && 0 < error)) + ) { + name = childTrackIdx.env; + isPrimaryEnv = childTrackIdx.awaited.name; + var isPrimaryEnv$jscomp$0 = name === response._rootEnvironmentName; + env = getIOColor(isPrimaryEnv); + name = + "await " + + (isPrimaryEnv$jscomp$0 || void 0 === name + ? isPrimaryEnv + : isPrimaryEnv + " [" + name + "]"); + (childTrackIdx = childTrackIdx.debugTask) + ? childTrackIdx.run( + console.timeStamp.bind( + console, + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ) + ) + : console.timeStamp( + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ); } - componentInfo.endTime = startTime; - return componentInfo; + trackIdx.endTime = componentInfo; + return trackIdx; } function processFullBinaryRow(response, id, tag, buffer, chunk) { switch (tag) { @@ -2593,6 +2746,9 @@ function () {} ); break; + case 74: + resolveIOInfo(response, id, row); + break; case 87: resolveConsoleEntry(response, row); break; @@ -2674,7 +2830,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2893,6 +3055,7 @@ ReactSharedInteralsServer; ReactPromise.prototype = Object.create(Promise.prototype); ReactPromise.prototype.then = function (resolve, reject) { + var _this = this; switch (this.status) { case "resolved_model": initializeModelChunk(this); @@ -2900,6 +3063,19 @@ case "resolved_module": initializeModuleChunk(this); } + var resolveCallback = resolve, + rejectCallback = reject, + wrapperPromise = new Promise(function (res, rej) { + resolve = function (value) { + wrapperPromise._debugInfo = _this._debugInfo; + res(value); + }; + reject = function (reason) { + wrapperPromise._debugInfo = _this._debugInfo; + rej(reason); + }; + }); + wrapperPromise.then(resolveCallback, rejectCallback); switch (this.status) { case "fulfilled": resolve(this.value); @@ -2932,6 +3108,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -2996,6 +3173,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { @@ -3029,10 +3207,10 @@ return hook.checkDCE ? !0 : !1; })({ bundleType: 1, - version: "19.2.0-experimental-14094f80-20250529", + version: "19.2.0-experimental-37054867-20250604", rendererPackageName: "react-server-dom-webpack", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-experimental-14094f80-20250529", + reconcilerVersion: "19.2.0-experimental-37054867-20250604", getCurrentComponentInfo: function () { return currentOwnerInDEV; } diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.production.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.production.js index cbb249b91d627..7cedf5094431e 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.production.js @@ -1435,6 +1435,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.edge.development.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.edge.development.js index 4fb934aa9eced..c4be2bbb8e53f 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.edge.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.edge.development.js @@ -1082,6 +1082,16 @@ registerBoundServerReference(action, id, null, encodeFormAction); return action; } + function getIOColor(functionName) { + switch (functionName.charCodeAt(0) % 3) { + case 0: + return "tertiary-light"; + case 1: + return "tertiary"; + default: + return "tertiary-dark"; + } + } function getComponentNameFromType(type) { if (null == type) return null; if ("function" === typeof type) @@ -1307,6 +1317,14 @@ "pending" === chunk.status && triggerErrorOnChunk(chunk, error); }); supportsUserTiming && + (console.timeStamp( + "Server Requests Track", + 0.001, + 0.001, + "Server Requests \u269b", + void 0, + "primary-light" + ), console.timeStamp( "Server Components Track", 0.001, @@ -1314,7 +1332,7 @@ "Primary", "Server Components \u269b", "primary-light" - ); + )); flushComponentPerformance( response, getChunk(response, 0), @@ -2112,6 +2130,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2129,6 +2148,7 @@ response, stack, env, + !1, Error.bind(null, reason || "") ); stack = response._debugRootTask; @@ -2280,10 +2300,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2302,8 +2332,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2326,7 +2356,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2340,7 +2371,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2353,13 +2385,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2470,6 +2520,66 @@ ); } } + function initializeIOInfo(response, ioInfo) { + var env = + void 0 === ioInfo.env ? response._rootEnvironmentName : ioInfo.env; + void 0 !== ioInfo.stack && + (initializeFakeTask(response, ioInfo, env), + initializeFakeStack(response, ioInfo)); + ioInfo.start += response._timeOrigin; + ioInfo.end += response._timeOrigin; + env = ioInfo.start; + var endTime = ioInfo.end; + if (supportsUserTiming && 0 <= endTime) { + var name = ioInfo.name, + env$jscomp$0 = ioInfo.env; + response = + env$jscomp$0 === response._rootEnvironmentName || + void 0 === env$jscomp$0 + ? name + : name + " [" + env$jscomp$0 + "]"; + ioInfo = ioInfo.debugTask; + name = getIOColor(name); + ioInfo + ? ioInfo.run( + console.timeStamp.bind( + console, + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ) + ) + : console.timeStamp( + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ); + } + } + function resolveIOInfo(response, id, model) { + var chunks = response._chunks, + chunk = chunks.get(id); + chunk + ? (resolveModelChunk(chunk, model), + "resolved_model" === chunk.status && initializeModelChunk(chunk)) + : ((chunk = new ReactPromise("resolved_model", model, null, response)), + chunks.set(id, chunk), + initializeModelChunk(chunk)); + "fulfilled" === chunk.status + ? initializeIOInfo(response, chunk.value) + : chunk.then( + function (v) { + initializeIOInfo(response, v); + }, + function () {} + ); + } function mergeBuffer(buffer, lastChunk) { for ( var l = buffer.length, byteLength = lastChunk.length, i = 0; @@ -2513,119 +2623,117 @@ parentEndTime ) { if (!isArrayImpl(root._children)) { - response = root._children; - root = response.endTime; + root = root._children; + var previousEndTime = root.endTime; if ( -Infinity < parentEndTime && - parentEndTime < root && - null !== response.component + parentEndTime < previousEndTime && + null !== root.component ) { - var componentInfo = response.component, - trackIdx = trackIdx$jscomp$0, - startTime = parentEndTime; - supportsUserTiming && - 0 <= root && - 10 > trackIdx && - ((parentEndTime = componentInfo.name + " [deduped]"), + var componentInfo = root.component, + trackIdx = trackIdx$jscomp$0; + if (supportsUserTiming && 0 <= previousEndTime && 10 > trackIdx) { + response = + componentInfo.env === response._rootEnvironmentName + ? "primary-light" + : "secondary-light"; + var entryName = componentInfo.name + " [deduped]"; (componentInfo = componentInfo.debugTask) ? componentInfo.run( console.timeStamp.bind( console, - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" + response ) ) : console.timeStamp( - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" - )); + response + ); + } } - response.track = trackIdx$jscomp$0; - return response; + root.track = trackIdx$jscomp$0; + return root; } - var children = root._children; + entryName = root._children; "resolved_model" === root.status && initializeModelChunk(root); - if ((trackIdx = root._debugInfo)) { - for ( - componentInfo = 1; - componentInfo < trackIdx.length; - componentInfo++ - ) + if ((previousEndTime = root._debugInfo)) { + for (trackIdx = 1; trackIdx < previousEndTime.length; trackIdx++) if ( - "string" === typeof trackIdx[componentInfo].name && - ((startTime = trackIdx[componentInfo - 1]), - "number" === typeof startTime.time) + "string" === typeof previousEndTime[trackIdx].name && + ((componentInfo = previousEndTime[trackIdx - 1]), + "number" === typeof componentInfo.time) ) { - componentInfo = startTime.time; - componentInfo < trackTime && trackIdx$jscomp$0++; - trackTime = componentInfo; + trackIdx = componentInfo.time; + trackIdx < trackTime && trackIdx$jscomp$0++; + trackTime = trackIdx; break; } - for ( - componentInfo = trackIdx.length - 1; - 0 <= componentInfo; - componentInfo-- - ) - (startTime = trackIdx[componentInfo]), - "number" === typeof startTime.time && - startTime.time > parentEndTime && - (parentEndTime = startTime.time); + for (trackIdx = previousEndTime.length - 1; 0 <= trackIdx; trackIdx--) + (componentInfo = previousEndTime[trackIdx]), + "number" === typeof componentInfo.time && + componentInfo.time > parentEndTime && + (parentEndTime = componentInfo.time); } - componentInfo = { + trackIdx = { track: trackIdx$jscomp$0, endTime: -Infinity, component: null }; - root._children = componentInfo; - startTime = -Infinity; + root._children = trackIdx; + componentInfo = -Infinity; var childTrackIdx = trackIdx$jscomp$0, childTrackTime = trackTime; - for (trackTime = 0; trackTime < children.length; trackTime++) { + for (trackTime = 0; trackTime < entryName.length; trackTime++) { childTrackTime = flushComponentPerformance( response, - children[trackTime], + entryName[trackTime], childTrackIdx, childTrackTime, parentEndTime ); null !== childTrackTime.component && - (componentInfo.component = childTrackTime.component); + (trackIdx.component = childTrackTime.component); childTrackIdx = childTrackTime.track; var childEndTime = childTrackTime.endTime; childTrackTime = childEndTime; - childEndTime > startTime && (startTime = childEndTime); + childEndTime > componentInfo && (componentInfo = childEndTime); } - if (trackIdx) + if (previousEndTime) for ( - parentEndTime = 0, childTrackIdx = !0, children = trackIdx.length - 1; - 0 <= children; - children-- + entryName = 0, + childTrackTime = !0, + parentEndTime = previousEndTime.length - 1; + 0 <= parentEndTime; + parentEndTime-- ) if ( - ((trackTime = trackIdx[children]), + ((trackTime = previousEndTime[parentEndTime]), "number" === typeof trackTime.time && - ((parentEndTime = trackTime.time), - parentEndTime > startTime && (startTime = parentEndTime)), - "string" === typeof trackTime.name && 0 < children) + (trackTime.time > componentInfo && + (componentInfo = trackTime.time), + 0 === entryName && (entryName = trackTime.time)), + "string" === typeof trackTime.name && 0 < parentEndTime) ) { - childTrackTime = trackIdx[children - 1]; - if ("number" === typeof childTrackTime.time) { - childTrackTime = childTrackTime.time; + childTrackIdx = previousEndTime[parentEndTime - 1]; + if ("number" === typeof childTrackIdx.time) { + childTrackIdx = childTrackIdx.time; if ( - childTrackIdx && + childTrackTime && "rejected" === root.status && root.reason !== response._closedReason ) { - childTrackIdx = trackIdx$jscomp$0; - childEndTime = startTime; + entryName = trackIdx$jscomp$0; + childTrackTime = childTrackIdx; + childEndTime = componentInfo; var error = root.reason; if (supportsUserTiming) { var env = trackTime.env, @@ -2642,7 +2750,7 @@ detail: { devtools: { color: "error", - track: trackNames[childTrackIdx], + track: trackNames[entryName], trackGroup: "Server Components \u269b", tooltipText: env + " Errored", properties: [ @@ -2662,30 +2770,31 @@ env, 0 > childTrackTime ? 0 : childTrackTime, childEndTime, - trackNames[childTrackIdx], + trackNames[entryName], "Server Components \u269b", "error" ); } } else if ( - ((childTrackIdx = trackIdx$jscomp$0), - (childEndTime = startTime), - supportsUserTiming && 0 <= childEndTime && 10 > childTrackIdx) + ((childTrackTime = trackIdx$jscomp$0), + (childEndTime = childTrackIdx), + (error = componentInfo), + supportsUserTiming && 0 <= error && 10 > childTrackTime) ) { env = trackTime.env; name = trackTime.name; var isPrimaryEnv = env === response._rootEnvironmentName; - error = parentEndTime - childTrackTime; - error = - 0.5 > error + entryName -= childEndTime; + entryName = + 0.5 > entryName ? isPrimaryEnv ? "primary-light" : "secondary-light" - : 50 > error + : 50 > entryName ? isPrimaryEnv ? "primary" : "secondary" - : 500 > error + : 500 > entryName ? isPrimaryEnv ? "primary-dark" : "secondary-dark" @@ -2699,28 +2808,72 @@ console.timeStamp.bind( console, env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ) ) : console.timeStamp( env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ); } - componentInfo.component = trackTime; + trackIdx.component = trackTime; + entryName = childTrackIdx; } - childTrackIdx = !1; + childTrackTime = !1; + } else if ( + trackTime.awaited && + 0 < parentEndTime && + parentEndTime < previousEndTime.length - 2 && + ((childEndTime = previousEndTime[parentEndTime - 1]), + (error = previousEndTime[parentEndTime + 1]), + "number" === typeof childEndTime.time && + "number" === typeof error.time && + ((childTrackIdx = trackTime), + (trackTime = trackIdx$jscomp$0), + (childEndTime = childEndTime.time), + (error = error.time), + supportsUserTiming && 0 < error)) + ) { + name = childTrackIdx.env; + isPrimaryEnv = childTrackIdx.awaited.name; + var isPrimaryEnv$jscomp$0 = name === response._rootEnvironmentName; + env = getIOColor(isPrimaryEnv); + name = + "await " + + (isPrimaryEnv$jscomp$0 || void 0 === name + ? isPrimaryEnv + : isPrimaryEnv + " [" + name + "]"); + (childTrackIdx = childTrackIdx.debugTask) + ? childTrackIdx.run( + console.timeStamp.bind( + console, + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ) + ) + : console.timeStamp( + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ); } - componentInfo.endTime = startTime; - return componentInfo; + trackIdx.endTime = componentInfo; + return trackIdx; } function processFullBinaryRow(response, id, tag, buffer, chunk) { switch (tag) { @@ -2813,6 +2966,9 @@ function () {} ); break; + case 74: + resolveIOInfo(response, id, row); + break; case 87: resolveConsoleEntry(response, row); break; @@ -2894,7 +3050,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -3113,6 +3275,7 @@ ReactSharedInteralsServer; ReactPromise.prototype = Object.create(Promise.prototype); ReactPromise.prototype.then = function (resolve, reject) { + var _this = this; switch (this.status) { case "resolved_model": initializeModelChunk(this); @@ -3120,6 +3283,19 @@ case "resolved_module": initializeModuleChunk(this); } + var resolveCallback = resolve, + rejectCallback = reject, + wrapperPromise = new Promise(function (res, rej) { + resolve = function (value) { + wrapperPromise._debugInfo = _this._debugInfo; + res(value); + }; + reject = function (reason) { + wrapperPromise._debugInfo = _this._debugInfo; + rej(reason); + }; + }); + wrapperPromise.then(resolveCallback, rejectCallback); switch (this.status) { case "fulfilled": resolve(this.value); @@ -3152,6 +3328,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -3216,6 +3393,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.edge.production.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.edge.production.js index eab9b4183f7ca..4d978c892fbce 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.edge.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.edge.production.js @@ -1616,6 +1616,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.development.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.development.js index a80c10fcd09ff..c865debe99c62 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.development.js @@ -1082,6 +1082,16 @@ registerBoundServerReference(action, id, null, encodeFormAction); return action; } + function getIOColor(functionName) { + switch (functionName.charCodeAt(0) % 3) { + case 0: + return "tertiary-light"; + case 1: + return "tertiary"; + default: + return "tertiary-dark"; + } + } function getComponentNameFromType(type) { if (null == type) return null; if ("function" === typeof type) @@ -1307,6 +1317,14 @@ "pending" === chunk.status && triggerErrorOnChunk(chunk, error); }); supportsUserTiming && + (console.timeStamp( + "Server Requests Track", + 0.001, + 0.001, + "Server Requests \u269b", + void 0, + "primary-light" + ), console.timeStamp( "Server Components Track", 0.001, @@ -1314,7 +1332,7 @@ "Primary", "Server Components \u269b", "primary-light" - ); + )); flushComponentPerformance( response, getChunk(response, 0), @@ -2112,6 +2130,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2129,6 +2148,7 @@ response, stack, env, + !1, Error.bind(null, reason || "") ); stack = response._debugRootTask; @@ -2280,10 +2300,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2302,8 +2332,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2326,7 +2356,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2340,7 +2371,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2353,13 +2385,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2470,6 +2520,66 @@ ); } } + function initializeIOInfo(response, ioInfo) { + var env = + void 0 === ioInfo.env ? response._rootEnvironmentName : ioInfo.env; + void 0 !== ioInfo.stack && + (initializeFakeTask(response, ioInfo, env), + initializeFakeStack(response, ioInfo)); + ioInfo.start += response._timeOrigin; + ioInfo.end += response._timeOrigin; + env = ioInfo.start; + var endTime = ioInfo.end; + if (supportsUserTiming && 0 <= endTime) { + var name = ioInfo.name, + env$jscomp$0 = ioInfo.env; + response = + env$jscomp$0 === response._rootEnvironmentName || + void 0 === env$jscomp$0 + ? name + : name + " [" + env$jscomp$0 + "]"; + ioInfo = ioInfo.debugTask; + name = getIOColor(name); + ioInfo + ? ioInfo.run( + console.timeStamp.bind( + console, + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ) + ) + : console.timeStamp( + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ); + } + } + function resolveIOInfo(response, id, model) { + var chunks = response._chunks, + chunk = chunks.get(id); + chunk + ? (resolveModelChunk(chunk, model), + "resolved_model" === chunk.status && initializeModelChunk(chunk)) + : ((chunk = new ReactPromise("resolved_model", model, null, response)), + chunks.set(id, chunk), + initializeModelChunk(chunk)); + "fulfilled" === chunk.status + ? initializeIOInfo(response, chunk.value) + : chunk.then( + function (v) { + initializeIOInfo(response, v); + }, + function () {} + ); + } function mergeBuffer(buffer, lastChunk) { for ( var l = buffer.length, byteLength = lastChunk.length, i = 0; @@ -2513,119 +2623,117 @@ parentEndTime ) { if (!isArrayImpl(root._children)) { - response = root._children; - root = response.endTime; + root = root._children; + var previousEndTime = root.endTime; if ( -Infinity < parentEndTime && - parentEndTime < root && - null !== response.component + parentEndTime < previousEndTime && + null !== root.component ) { - var componentInfo = response.component, - trackIdx = trackIdx$jscomp$0, - startTime = parentEndTime; - supportsUserTiming && - 0 <= root && - 10 > trackIdx && - ((parentEndTime = componentInfo.name + " [deduped]"), + var componentInfo = root.component, + trackIdx = trackIdx$jscomp$0; + if (supportsUserTiming && 0 <= previousEndTime && 10 > trackIdx) { + response = + componentInfo.env === response._rootEnvironmentName + ? "primary-light" + : "secondary-light"; + var entryName = componentInfo.name + " [deduped]"; (componentInfo = componentInfo.debugTask) ? componentInfo.run( console.timeStamp.bind( console, - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" + response ) ) : console.timeStamp( - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" - )); + response + ); + } } - response.track = trackIdx$jscomp$0; - return response; + root.track = trackIdx$jscomp$0; + return root; } - var children = root._children; + entryName = root._children; "resolved_model" === root.status && initializeModelChunk(root); - if ((trackIdx = root._debugInfo)) { - for ( - componentInfo = 1; - componentInfo < trackIdx.length; - componentInfo++ - ) + if ((previousEndTime = root._debugInfo)) { + for (trackIdx = 1; trackIdx < previousEndTime.length; trackIdx++) if ( - "string" === typeof trackIdx[componentInfo].name && - ((startTime = trackIdx[componentInfo - 1]), - "number" === typeof startTime.time) + "string" === typeof previousEndTime[trackIdx].name && + ((componentInfo = previousEndTime[trackIdx - 1]), + "number" === typeof componentInfo.time) ) { - componentInfo = startTime.time; - componentInfo < trackTime && trackIdx$jscomp$0++; - trackTime = componentInfo; + trackIdx = componentInfo.time; + trackIdx < trackTime && trackIdx$jscomp$0++; + trackTime = trackIdx; break; } - for ( - componentInfo = trackIdx.length - 1; - 0 <= componentInfo; - componentInfo-- - ) - (startTime = trackIdx[componentInfo]), - "number" === typeof startTime.time && - startTime.time > parentEndTime && - (parentEndTime = startTime.time); + for (trackIdx = previousEndTime.length - 1; 0 <= trackIdx; trackIdx--) + (componentInfo = previousEndTime[trackIdx]), + "number" === typeof componentInfo.time && + componentInfo.time > parentEndTime && + (parentEndTime = componentInfo.time); } - componentInfo = { + trackIdx = { track: trackIdx$jscomp$0, endTime: -Infinity, component: null }; - root._children = componentInfo; - startTime = -Infinity; + root._children = trackIdx; + componentInfo = -Infinity; var childTrackIdx = trackIdx$jscomp$0, childTrackTime = trackTime; - for (trackTime = 0; trackTime < children.length; trackTime++) { + for (trackTime = 0; trackTime < entryName.length; trackTime++) { childTrackTime = flushComponentPerformance( response, - children[trackTime], + entryName[trackTime], childTrackIdx, childTrackTime, parentEndTime ); null !== childTrackTime.component && - (componentInfo.component = childTrackTime.component); + (trackIdx.component = childTrackTime.component); childTrackIdx = childTrackTime.track; var childEndTime = childTrackTime.endTime; childTrackTime = childEndTime; - childEndTime > startTime && (startTime = childEndTime); + childEndTime > componentInfo && (componentInfo = childEndTime); } - if (trackIdx) + if (previousEndTime) for ( - parentEndTime = 0, childTrackIdx = !0, children = trackIdx.length - 1; - 0 <= children; - children-- + entryName = 0, + childTrackTime = !0, + parentEndTime = previousEndTime.length - 1; + 0 <= parentEndTime; + parentEndTime-- ) if ( - ((trackTime = trackIdx[children]), + ((trackTime = previousEndTime[parentEndTime]), "number" === typeof trackTime.time && - ((parentEndTime = trackTime.time), - parentEndTime > startTime && (startTime = parentEndTime)), - "string" === typeof trackTime.name && 0 < children) + (trackTime.time > componentInfo && + (componentInfo = trackTime.time), + 0 === entryName && (entryName = trackTime.time)), + "string" === typeof trackTime.name && 0 < parentEndTime) ) { - childTrackTime = trackIdx[children - 1]; - if ("number" === typeof childTrackTime.time) { - childTrackTime = childTrackTime.time; + childTrackIdx = previousEndTime[parentEndTime - 1]; + if ("number" === typeof childTrackIdx.time) { + childTrackIdx = childTrackIdx.time; if ( - childTrackIdx && + childTrackTime && "rejected" === root.status && root.reason !== response._closedReason ) { - childTrackIdx = trackIdx$jscomp$0; - childEndTime = startTime; + entryName = trackIdx$jscomp$0; + childTrackTime = childTrackIdx; + childEndTime = componentInfo; var error = root.reason; if (supportsUserTiming) { var env = trackTime.env, @@ -2642,7 +2750,7 @@ detail: { devtools: { color: "error", - track: trackNames[childTrackIdx], + track: trackNames[entryName], trackGroup: "Server Components \u269b", tooltipText: env + " Errored", properties: [ @@ -2662,30 +2770,31 @@ env, 0 > childTrackTime ? 0 : childTrackTime, childEndTime, - trackNames[childTrackIdx], + trackNames[entryName], "Server Components \u269b", "error" ); } } else if ( - ((childTrackIdx = trackIdx$jscomp$0), - (childEndTime = startTime), - supportsUserTiming && 0 <= childEndTime && 10 > childTrackIdx) + ((childTrackTime = trackIdx$jscomp$0), + (childEndTime = childTrackIdx), + (error = componentInfo), + supportsUserTiming && 0 <= error && 10 > childTrackTime) ) { env = trackTime.env; name = trackTime.name; var isPrimaryEnv = env === response._rootEnvironmentName; - error = parentEndTime - childTrackTime; - error = - 0.5 > error + entryName -= childEndTime; + entryName = + 0.5 > entryName ? isPrimaryEnv ? "primary-light" : "secondary-light" - : 50 > error + : 50 > entryName ? isPrimaryEnv ? "primary" : "secondary" - : 500 > error + : 500 > entryName ? isPrimaryEnv ? "primary-dark" : "secondary-dark" @@ -2699,28 +2808,72 @@ console.timeStamp.bind( console, env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ) ) : console.timeStamp( env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ); } - componentInfo.component = trackTime; + trackIdx.component = trackTime; + entryName = childTrackIdx; } - childTrackIdx = !1; + childTrackTime = !1; + } else if ( + trackTime.awaited && + 0 < parentEndTime && + parentEndTime < previousEndTime.length - 2 && + ((childEndTime = previousEndTime[parentEndTime - 1]), + (error = previousEndTime[parentEndTime + 1]), + "number" === typeof childEndTime.time && + "number" === typeof error.time && + ((childTrackIdx = trackTime), + (trackTime = trackIdx$jscomp$0), + (childEndTime = childEndTime.time), + (error = error.time), + supportsUserTiming && 0 < error)) + ) { + name = childTrackIdx.env; + isPrimaryEnv = childTrackIdx.awaited.name; + var isPrimaryEnv$jscomp$0 = name === response._rootEnvironmentName; + env = getIOColor(isPrimaryEnv); + name = + "await " + + (isPrimaryEnv$jscomp$0 || void 0 === name + ? isPrimaryEnv + : isPrimaryEnv + " [" + name + "]"); + (childTrackIdx = childTrackIdx.debugTask) + ? childTrackIdx.run( + console.timeStamp.bind( + console, + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ) + ) + : console.timeStamp( + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ); } - componentInfo.endTime = startTime; - return componentInfo; + trackIdx.endTime = componentInfo; + return trackIdx; } function processFullBinaryRow(response, id, tag, buffer, chunk) { switch (tag) { @@ -2813,6 +2966,9 @@ function () {} ); break; + case 74: + resolveIOInfo(response, id, row); + break; case 87: resolveConsoleEntry(response, row); break; @@ -2894,7 +3050,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -3001,6 +3163,7 @@ ReactSharedInteralsServer; ReactPromise.prototype = Object.create(Promise.prototype); ReactPromise.prototype.then = function (resolve, reject) { + var _this = this; switch (this.status) { case "resolved_model": initializeModelChunk(this); @@ -3008,6 +3171,19 @@ case "resolved_module": initializeModuleChunk(this); } + var resolveCallback = resolve, + rejectCallback = reject, + wrapperPromise = new Promise(function (res, rej) { + resolve = function (value) { + wrapperPromise._debugInfo = _this._debugInfo; + res(value); + }; + reject = function (reason) { + wrapperPromise._debugInfo = _this._debugInfo; + rej(reason); + }; + }); + wrapperPromise.then(resolveCallback, rejectCallback); switch (this.status) { case "fulfilled": resolve(this.value); @@ -3040,6 +3216,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -3104,6 +3281,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.production.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.production.js index b9aaf064606d0..c3921e9fa8d6d 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.production.js @@ -1619,6 +1619,7 @@ function processFullStringRow(response, id, tag, row) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.unbundled.development.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.unbundled.development.js index 2dac3306ca329..3f1d923c78c7a 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.unbundled.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.unbundled.development.js @@ -1044,6 +1044,16 @@ registerBoundServerReference(action, id, null, encodeFormAction); return action; } + function getIOColor(functionName) { + switch (functionName.charCodeAt(0) % 3) { + case 0: + return "tertiary-light"; + case 1: + return "tertiary"; + default: + return "tertiary-dark"; + } + } function getComponentNameFromType(type) { if (null == type) return null; if ("function" === typeof type) @@ -1269,6 +1279,14 @@ "pending" === chunk.status && triggerErrorOnChunk(chunk, error); }); supportsUserTiming && + (console.timeStamp( + "Server Requests Track", + 0.001, + 0.001, + "Server Requests \u269b", + void 0, + "primary-light" + ), console.timeStamp( "Server Components Track", 0.001, @@ -1276,7 +1294,7 @@ "Primary", "Server Components \u269b", "primary-light" - ); + )); flushComponentPerformance( response, getChunk(response, 0), @@ -2074,6 +2092,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2091,6 +2110,7 @@ response, stack, env, + !1, Error.bind(null, reason || "") ); stack = response._debugRootTask; @@ -2242,10 +2262,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2264,8 +2294,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2288,7 +2318,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2302,7 +2333,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2315,13 +2347,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2432,6 +2482,66 @@ ); } } + function initializeIOInfo(response, ioInfo) { + var env = + void 0 === ioInfo.env ? response._rootEnvironmentName : ioInfo.env; + void 0 !== ioInfo.stack && + (initializeFakeTask(response, ioInfo, env), + initializeFakeStack(response, ioInfo)); + ioInfo.start += response._timeOrigin; + ioInfo.end += response._timeOrigin; + env = ioInfo.start; + var endTime = ioInfo.end; + if (supportsUserTiming && 0 <= endTime) { + var name = ioInfo.name, + env$jscomp$0 = ioInfo.env; + response = + env$jscomp$0 === response._rootEnvironmentName || + void 0 === env$jscomp$0 + ? name + : name + " [" + env$jscomp$0 + "]"; + ioInfo = ioInfo.debugTask; + name = getIOColor(name); + ioInfo + ? ioInfo.run( + console.timeStamp.bind( + console, + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ) + ) + : console.timeStamp( + response, + 0 > env ? 0 : env, + endTime, + "Server Requests \u269b", + void 0, + name + ); + } + } + function resolveIOInfo(response, id, model) { + var chunks = response._chunks, + chunk = chunks.get(id); + chunk + ? (resolveModelChunk(chunk, model), + "resolved_model" === chunk.status && initializeModelChunk(chunk)) + : ((chunk = new ReactPromise("resolved_model", model, null, response)), + chunks.set(id, chunk), + initializeModelChunk(chunk)); + "fulfilled" === chunk.status + ? initializeIOInfo(response, chunk.value) + : chunk.then( + function (v) { + initializeIOInfo(response, v); + }, + function () {} + ); + } function mergeBuffer(buffer, lastChunk) { for ( var l = buffer.length, byteLength = lastChunk.length, i = 0; @@ -2475,119 +2585,117 @@ parentEndTime ) { if (!isArrayImpl(root._children)) { - response = root._children; - root = response.endTime; + root = root._children; + var previousEndTime = root.endTime; if ( -Infinity < parentEndTime && - parentEndTime < root && - null !== response.component + parentEndTime < previousEndTime && + null !== root.component ) { - var componentInfo = response.component, - trackIdx = trackIdx$jscomp$0, - startTime = parentEndTime; - supportsUserTiming && - 0 <= root && - 10 > trackIdx && - ((parentEndTime = componentInfo.name + " [deduped]"), + var componentInfo = root.component, + trackIdx = trackIdx$jscomp$0; + if (supportsUserTiming && 0 <= previousEndTime && 10 > trackIdx) { + response = + componentInfo.env === response._rootEnvironmentName + ? "primary-light" + : "secondary-light"; + var entryName = componentInfo.name + " [deduped]"; (componentInfo = componentInfo.debugTask) ? componentInfo.run( console.timeStamp.bind( console, - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" + response ) ) : console.timeStamp( - parentEndTime, - 0 > startTime ? 0 : startTime, - root, + entryName, + 0 > parentEndTime ? 0 : parentEndTime, + previousEndTime, trackNames[trackIdx], "Server Components \u269b", - "tertiary-light" - )); + response + ); + } } - response.track = trackIdx$jscomp$0; - return response; + root.track = trackIdx$jscomp$0; + return root; } - var children = root._children; + entryName = root._children; "resolved_model" === root.status && initializeModelChunk(root); - if ((trackIdx = root._debugInfo)) { - for ( - componentInfo = 1; - componentInfo < trackIdx.length; - componentInfo++ - ) + if ((previousEndTime = root._debugInfo)) { + for (trackIdx = 1; trackIdx < previousEndTime.length; trackIdx++) if ( - "string" === typeof trackIdx[componentInfo].name && - ((startTime = trackIdx[componentInfo - 1]), - "number" === typeof startTime.time) + "string" === typeof previousEndTime[trackIdx].name && + ((componentInfo = previousEndTime[trackIdx - 1]), + "number" === typeof componentInfo.time) ) { - componentInfo = startTime.time; - componentInfo < trackTime && trackIdx$jscomp$0++; - trackTime = componentInfo; + trackIdx = componentInfo.time; + trackIdx < trackTime && trackIdx$jscomp$0++; + trackTime = trackIdx; break; } - for ( - componentInfo = trackIdx.length - 1; - 0 <= componentInfo; - componentInfo-- - ) - (startTime = trackIdx[componentInfo]), - "number" === typeof startTime.time && - startTime.time > parentEndTime && - (parentEndTime = startTime.time); + for (trackIdx = previousEndTime.length - 1; 0 <= trackIdx; trackIdx--) + (componentInfo = previousEndTime[trackIdx]), + "number" === typeof componentInfo.time && + componentInfo.time > parentEndTime && + (parentEndTime = componentInfo.time); } - componentInfo = { + trackIdx = { track: trackIdx$jscomp$0, endTime: -Infinity, component: null }; - root._children = componentInfo; - startTime = -Infinity; + root._children = trackIdx; + componentInfo = -Infinity; var childTrackIdx = trackIdx$jscomp$0, childTrackTime = trackTime; - for (trackTime = 0; trackTime < children.length; trackTime++) { + for (trackTime = 0; trackTime < entryName.length; trackTime++) { childTrackTime = flushComponentPerformance( response, - children[trackTime], + entryName[trackTime], childTrackIdx, childTrackTime, parentEndTime ); null !== childTrackTime.component && - (componentInfo.component = childTrackTime.component); + (trackIdx.component = childTrackTime.component); childTrackIdx = childTrackTime.track; var childEndTime = childTrackTime.endTime; childTrackTime = childEndTime; - childEndTime > startTime && (startTime = childEndTime); + childEndTime > componentInfo && (componentInfo = childEndTime); } - if (trackIdx) + if (previousEndTime) for ( - parentEndTime = 0, childTrackIdx = !0, children = trackIdx.length - 1; - 0 <= children; - children-- + entryName = 0, + childTrackTime = !0, + parentEndTime = previousEndTime.length - 1; + 0 <= parentEndTime; + parentEndTime-- ) if ( - ((trackTime = trackIdx[children]), + ((trackTime = previousEndTime[parentEndTime]), "number" === typeof trackTime.time && - ((parentEndTime = trackTime.time), - parentEndTime > startTime && (startTime = parentEndTime)), - "string" === typeof trackTime.name && 0 < children) + (trackTime.time > componentInfo && + (componentInfo = trackTime.time), + 0 === entryName && (entryName = trackTime.time)), + "string" === typeof trackTime.name && 0 < parentEndTime) ) { - childTrackTime = trackIdx[children - 1]; - if ("number" === typeof childTrackTime.time) { - childTrackTime = childTrackTime.time; + childTrackIdx = previousEndTime[parentEndTime - 1]; + if ("number" === typeof childTrackIdx.time) { + childTrackIdx = childTrackIdx.time; if ( - childTrackIdx && + childTrackTime && "rejected" === root.status && root.reason !== response._closedReason ) { - childTrackIdx = trackIdx$jscomp$0; - childEndTime = startTime; + entryName = trackIdx$jscomp$0; + childTrackTime = childTrackIdx; + childEndTime = componentInfo; var error = root.reason; if (supportsUserTiming) { var env = trackTime.env, @@ -2604,7 +2712,7 @@ detail: { devtools: { color: "error", - track: trackNames[childTrackIdx], + track: trackNames[entryName], trackGroup: "Server Components \u269b", tooltipText: env + " Errored", properties: [ @@ -2624,30 +2732,31 @@ env, 0 > childTrackTime ? 0 : childTrackTime, childEndTime, - trackNames[childTrackIdx], + trackNames[entryName], "Server Components \u269b", "error" ); } } else if ( - ((childTrackIdx = trackIdx$jscomp$0), - (childEndTime = startTime), - supportsUserTiming && 0 <= childEndTime && 10 > childTrackIdx) + ((childTrackTime = trackIdx$jscomp$0), + (childEndTime = childTrackIdx), + (error = componentInfo), + supportsUserTiming && 0 <= error && 10 > childTrackTime) ) { env = trackTime.env; name = trackTime.name; var isPrimaryEnv = env === response._rootEnvironmentName; - error = parentEndTime - childTrackTime; - error = - 0.5 > error + entryName -= childEndTime; + entryName = + 0.5 > entryName ? isPrimaryEnv ? "primary-light" : "secondary-light" - : 50 > error + : 50 > entryName ? isPrimaryEnv ? "primary" : "secondary" - : 500 > error + : 500 > entryName ? isPrimaryEnv ? "primary-dark" : "secondary-dark" @@ -2661,28 +2770,72 @@ console.timeStamp.bind( console, env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ) ) : console.timeStamp( env, - 0 > childTrackTime ? 0 : childTrackTime, - childEndTime, - trackNames[childTrackIdx], + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[childTrackTime], "Server Components \u269b", - error + entryName ); } - componentInfo.component = trackTime; + trackIdx.component = trackTime; + entryName = childTrackIdx; } - childTrackIdx = !1; + childTrackTime = !1; + } else if ( + trackTime.awaited && + 0 < parentEndTime && + parentEndTime < previousEndTime.length - 2 && + ((childEndTime = previousEndTime[parentEndTime - 1]), + (error = previousEndTime[parentEndTime + 1]), + "number" === typeof childEndTime.time && + "number" === typeof error.time && + ((childTrackIdx = trackTime), + (trackTime = trackIdx$jscomp$0), + (childEndTime = childEndTime.time), + (error = error.time), + supportsUserTiming && 0 < error)) + ) { + name = childTrackIdx.env; + isPrimaryEnv = childTrackIdx.awaited.name; + var isPrimaryEnv$jscomp$0 = name === response._rootEnvironmentName; + env = getIOColor(isPrimaryEnv); + name = + "await " + + (isPrimaryEnv$jscomp$0 || void 0 === name + ? isPrimaryEnv + : isPrimaryEnv + " [" + name + "]"); + (childTrackIdx = childTrackIdx.debugTask) + ? childTrackIdx.run( + console.timeStamp.bind( + console, + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ) + ) + : console.timeStamp( + name, + 0 > childEndTime ? 0 : childEndTime, + error, + trackNames[trackTime], + "Server Components \u269b", + env + ); } - componentInfo.endTime = startTime; - return componentInfo; + trackIdx.endTime = componentInfo; + return trackIdx; } function processFullBinaryRow(response, id, tag, buffer, chunk) { switch (tag) { @@ -2775,6 +2928,9 @@ function () {} ); break; + case 74: + resolveIOInfo(response, id, row); + break; case 87: resolveConsoleEntry(response, row); break; @@ -2856,7 +3012,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2963,6 +3125,7 @@ ReactSharedInteralsServer; ReactPromise.prototype = Object.create(Promise.prototype); ReactPromise.prototype.then = function (resolve, reject) { + var _this = this; switch (this.status) { case "resolved_model": initializeModelChunk(this); @@ -2970,6 +3133,19 @@ case "resolved_module": initializeModuleChunk(this); } + var resolveCallback = resolve, + rejectCallback = reject, + wrapperPromise = new Promise(function (res, rej) { + resolve = function (value) { + wrapperPromise._debugInfo = _this._debugInfo; + res(value); + }; + reject = function (reason) { + wrapperPromise._debugInfo = _this._debugInfo; + rej(reason); + }; + }); + wrapperPromise.then(resolveCallback, rejectCallback); switch (this.status) { case "fulfilled": resolve(this.value); @@ -3002,6 +3178,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -3066,6 +3243,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.unbundled.production.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.unbundled.production.js index cd96eda489179..af49ab46e6f66 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.unbundled.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.node.unbundled.production.js @@ -1584,6 +1584,7 @@ function processFullStringRow(response, id, tag, row) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.development.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.development.js index 2954eec379c63..e973619b9d743 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.development.js @@ -266,43 +266,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -601,32 +607,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -642,8 +641,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -803,7 +801,17 @@ this.didWarnForKey = null; type = this.timeOrigin = performance.now(); emitTimeOriginChunk(this, type + performance.timeOrigin); - model = createTask(this, model, null, !1, abortSet, null, null, null); + model = createTask( + this, + model, + null, + !1, + abortSet, + type, + null, + null, + null + ); pingedTasks.push(model); } function createRequest( @@ -865,6 +873,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -970,6 +979,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1044,6 +1054,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1108,7 +1119,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1210,13 +1221,17 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; outlineComponentInfo(request, componentDebugInfo); task.timed = !0; - emitTimingChunk(request, componentDebugID, performance.now()); + emitTimingChunk( + request, + componentDebugID, + (task.time = performance.now()) + ); emitDebugChunk(request, componentDebugID, componentDebugInfo); task.environmentName = componentEnv; 2 === validated && @@ -1330,6 +1345,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1344,6 +1360,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1378,7 +1395,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1457,7 +1477,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1483,6 +1503,7 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask @@ -1532,6 +1553,7 @@ thenableState: null, timed: !1 }; + task.time = lastTimestamp; task.environmentName = request.environmentName(); task.debugOwner = debugOwner; task.debugStack = debugStack; @@ -1631,6 +1653,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1729,6 +1752,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1781,6 +1805,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -2173,7 +2198,10 @@ env = request.environmentName(); try { reason = String(postponeInstance.message); - var stack = filterStackTrace(request, postponeInstance, 0); + var stack = filterStackTrace( + request, + parseStackTrace(postponeInstance, 0) + ); } catch (x) { stack = []; } @@ -2191,7 +2219,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2216,7 +2244,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2292,6 +2320,31 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + id = stringToChunk(id); + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { if (TaintRegistryByteLengths.has(typedArray.byteLength)) { var tainted = TaintRegistryValues.get( @@ -2370,7 +2423,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2591,14 +2647,44 @@ timeOrigin = stringToChunk(":N" + timeOrigin + "\n"); request.completedRegularChunks.push(timeOrigin); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" === typeof debugInfo[i].time - ? emitTimingChunk(request, id, debugInfo[i].time) - : (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" === typeof debugInfo[i].time) + emitTimingChunk(request$jscomp$0, id$jscomp$0, debugInfo[i].time); + else if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set(ioInfo$jscomp$0, serializeByValueID(id)); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitTimingChunk(request, id, timestamp) { request.pendingChunks++; @@ -2643,7 +2729,8 @@ emitModelChunk(request, task.id, value)); } function erroredTask(request, task, error) { - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); task.status = ERRORED$1; if ( "object" === typeof error && @@ -2682,7 +2769,8 @@ currentEnv !== task.environmentName && (request.pendingChunks++, emitDebugChunk(request, task.id, { env: currentEnv })); - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); if ("object" === typeof resolvedModel && null !== resolvedModel) request.writtenObjects.set( resolvedModel, @@ -2762,7 +2850,8 @@ function abortTask(task, request, errorId) { task.status !== RENDERING && ((task.status = ABORTED), - task.timed && emitTimingChunk(request, task.id, performance.now()), + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())), (errorId = serializeByValueID(errorId)), (task = encodeReferenceChunk(request, task.id, errorId)), request.completedErrorChunks.push(task)); @@ -3917,6 +4006,7 @@ identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { @@ -4026,11 +4116,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -4119,8 +4209,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.production.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.production.js index 31acc3aa03946..03c92cab02765 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.production.js @@ -556,13 +556,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -868,8 +862,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -943,8 +937,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -2030,12 +2024,12 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason, digest = logRecoverableError(request, error, null), - errorId$28 = request.nextChunkId++; - request.fatalError = errorId$28; + errorId$27 = request.nextChunkId++; + request.fatalError = errorId$27; request.pendingChunks++; - emitErrorChunk(request, errorId$28, digest, error); + emitErrorChunk(request, errorId$27, digest, error); abortableTasks.forEach(function (task) { - return abortTask(task, request, errorId$28); + return abortTask(task, request, errorId$27); }); } abortableTasks.clear(); @@ -2043,7 +2037,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$29 = + var error$28 = "object" === typeof reason && null !== reason && reason.$$typeof === REACT_POSTPONE_TYPE @@ -2056,15 +2050,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$29); + return callback(error$28); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$30) { - logRecoverableError(request, error$30, null), fatalError(request, error$30); + } catch (error$29) { + logRecoverableError(request, error$29, null), fatalError(request, error$29); } } function resolveServerReference(bundlerConfig, id) { @@ -2522,8 +2516,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$33 = createPendingChunk(response); - chunk$33.then( + var chunk$32 = createPendingChunk(response); + chunk$32.then( function (v) { return controller.enqueue(v); }, @@ -2531,10 +2525,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$33; + previousBlockedChunk = chunk$32; chunk.then(function () { - previousBlockedChunk === chunk$33 && (previousBlockedChunk = null); - resolveModelChunk(chunk$33, json, -1); + previousBlockedChunk === chunk$32 && (previousBlockedChunk = null); + resolveModelChunk(chunk$32, json, -1); }); } }, diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.development.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.development.js index 05c9972df56a0..22e1f9bb7ab0d 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.development.js @@ -279,43 +279,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -617,32 +623,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -658,8 +657,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -819,7 +817,17 @@ this.didWarnForKey = null; type = this.timeOrigin = performance.now(); emitTimeOriginChunk(this, type + performance.timeOrigin); - model = createTask(this, model, null, !1, abortSet, null, null, null); + model = createTask( + this, + model, + null, + !1, + abortSet, + type, + null, + null, + null + ); pingedTasks.push(model); } function createRequest( @@ -889,6 +897,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -994,6 +1003,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1068,6 +1078,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1132,7 +1143,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1234,13 +1245,17 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; outlineComponentInfo(request, componentDebugInfo); task.timed = !0; - emitTimingChunk(request, componentDebugID, performance.now()); + emitTimingChunk( + request, + componentDebugID, + (task.time = performance.now()) + ); emitDebugChunk(request, componentDebugID, componentDebugInfo); task.environmentName = componentEnv; 2 === validated && @@ -1402,6 +1417,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1416,6 +1432,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1450,7 +1467,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1529,7 +1549,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1555,6 +1575,7 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask @@ -1604,6 +1625,7 @@ thenableState: null, timed: !1 }; + task.time = lastTimestamp; task.environmentName = request.environmentName(); task.debugOwner = debugOwner; task.debugStack = debugStack; @@ -1703,6 +1725,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1801,6 +1824,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1853,6 +1877,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -2267,7 +2292,10 @@ env = request.environmentName(); try { reason = String(postponeInstance.message); - var stack = filterStackTrace(request, postponeInstance, 0); + var stack = filterStackTrace( + request, + parseStackTrace(postponeInstance, 0) + ); } catch (x) { stack = []; } @@ -2285,7 +2313,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2310,7 +2338,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2386,6 +2414,31 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + id = stringToChunk(id); + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { if (TaintRegistryByteLengths.has(typedArray.byteLength)) { var tainted = TaintRegistryValues.get( @@ -2464,7 +2517,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2685,14 +2741,44 @@ timeOrigin = stringToChunk(":N" + timeOrigin + "\n"); request.completedRegularChunks.push(timeOrigin); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" === typeof debugInfo[i].time - ? emitTimingChunk(request, id, debugInfo[i].time) - : (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" === typeof debugInfo[i].time) + emitTimingChunk(request$jscomp$0, id$jscomp$0, debugInfo[i].time); + else if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set(ioInfo$jscomp$0, serializeByValueID(id)); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitTimingChunk(request, id, timestamp) { request.pendingChunks++; @@ -2737,7 +2823,8 @@ emitModelChunk(request, task.id, value)); } function erroredTask(request, task, error) { - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); task.status = ERRORED$1; if ( "object" === typeof error && @@ -2776,7 +2863,8 @@ currentEnv !== task.environmentName && (request.pendingChunks++, emitDebugChunk(request, task.id, { env: currentEnv })); - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); if ("object" === typeof resolvedModel && null !== resolvedModel) request.writtenObjects.set( resolvedModel, @@ -2856,7 +2944,8 @@ function abortTask(task, request, errorId) { task.status !== RENDERING && ((task.status = ABORTED), - task.timed && emitTimingChunk(request, task.id, performance.now()), + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())), (errorId = serializeByValueID(errorId)), (task = encodeReferenceChunk(request, task.id, errorId)), request.completedErrorChunks.push(task)); @@ -4019,20 +4108,13 @@ identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), supportsRequestStorage = "function" === typeof AsyncLocalStorage, requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null, supportsComponentStorage = supportsRequestStorage, componentStorage = supportsComponentStorage ? new AsyncLocalStorage() : null, - createAsyncHook = - "object" === typeof async_hooks - ? async_hooks.createHook - : function () { - return { enable: function () {}, disable: function () {} }; - }, - executionAsyncId = - "object" === typeof async_hooks ? async_hooks.executionAsyncId : null, TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { @@ -4128,11 +4210,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -4219,17 +4301,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); - (function () { - createAsyncHook({ - init: function () {}, - promiseResolve: function () { - executionAsyncId(); - }, - destroy: function () {} - }).enable(); - })(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.production.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.production.js index 895ed6dc80fe2..4dd0171860117 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.production.js @@ -396,14 +396,8 @@ function trimOptions(options) { return hasProperties ? trimmed : null; } var supportsRequestStorage = "function" === typeof AsyncLocalStorage, - requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null; -"object" === typeof async_hooks - ? async_hooks.createHook - : function () { - return { enable: function () {}, disable: function () {} }; - }; -"object" === typeof async_hooks ? async_hooks.executionAsyncId : null; -var TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), + requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null, + TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { switch (name) { @@ -563,13 +557,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -882,8 +870,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -957,8 +945,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -2052,12 +2040,12 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason, digest = logRecoverableError(request, error, null), - errorId$28 = request.nextChunkId++; - request.fatalError = errorId$28; + errorId$27 = request.nextChunkId++; + request.fatalError = errorId$27; request.pendingChunks++; - emitErrorChunk(request, errorId$28, digest, error); + emitErrorChunk(request, errorId$27, digest, error); abortableTasks.forEach(function (task) { - return abortTask(task, request, errorId$28); + return abortTask(task, request, errorId$27); }); } abortableTasks.clear(); @@ -2065,7 +2053,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$29 = + var error$28 = "object" === typeof reason && null !== reason && reason.$$typeof === REACT_POSTPONE_TYPE @@ -2078,15 +2066,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$29); + return callback(error$28); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$30) { - logRecoverableError(request, error$30, null), fatalError(request, error$30); + } catch (error$29) { + logRecoverableError(request, error$29, null), fatalError(request, error$29); } } function resolveServerReference(bundlerConfig, id) { @@ -2535,8 +2523,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$33 = createPendingChunk(response); - chunk$33.then( + var chunk$32 = createPendingChunk(response); + chunk$32.then( function (v) { return controller.enqueue(v); }, @@ -2544,10 +2532,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$33; + previousBlockedChunk = chunk$32; chunk.then(function () { - previousBlockedChunk === chunk$33 && (previousBlockedChunk = null); - resolveModelChunk(chunk$33, json, -1); + previousBlockedChunk === chunk$32 && (previousBlockedChunk = null); + resolveModelChunk(chunk$32, json, -1); }); } }, diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.development.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.development.js index bd1f93b3b3cad..106c8e37a09c0 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.development.js @@ -220,6 +220,15 @@ ((hasProperties = !0), (trimmed[key] = options[key])); return hasProperties ? trimmed : null; } + function resolveOwner() { + if (currentOwner) return currentOwner; + var owner = componentStorage.getStore(); + return owner ? owner : null; + } + function getCurrentAsyncSequence() { + var currentNode = pendingOperations.get(async_hooks.executionAsyncId()); + return void 0 === currentNode ? null : currentNode; + } function collectStackTrace(error, structuredStackTrace) { for ( var result = [], i = framesToSkip; @@ -289,43 +298,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -416,11 +431,6 @@ function unsupportedContext() { throw Error("Cannot read a Client Context from a Server Component."); } - function resolveOwner() { - if (currentOwner) return currentOwner; - var owner = componentStorage.getStore(); - return owner ? owner : null; - } function prepareStackTrace(error, structuredStackTrace) { error = (error.name || "Error") + ": " + (error.message || ""); for (var i = 0; i < structuredStackTrace.length; i++) @@ -632,32 +642,27 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; + function devirtualizeURL(url) { + if (url.startsWith("rsc://React/")) { + var envIdx = url.indexOf("/", 12), + suffixIdx = url.lastIndexOf("?"); + if (-1 < envIdx && -1 < suffixIdx) + return url.slice(envIdx + 1, suffixIdx); } + return url; + } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], functionName = callsite[0], - url = callsite[1]; - if (url.startsWith("rsc://React/")) { - var envIdx = url.indexOf("/", 12), - suffixIdx = url.lastIndexOf("?"); - -1 < envIdx && - -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); - } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + url = devirtualizeURL(callsite[1]); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -673,8 +678,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -834,7 +838,17 @@ this.didWarnForKey = null; type = this.timeOrigin = performance.now(); emitTimeOriginChunk(this, type + performance.timeOrigin); - model = createTask(this, model, null, !1, abortSet, null, null, null); + model = createTask( + this, + model, + null, + !1, + abortSet, + type, + null, + null, + null + ); pingedTasks.push(model); } function createRequest( @@ -901,6 +915,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1006,6 +1021,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1080,6 +1096,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1143,7 +1160,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1245,13 +1262,17 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; outlineComponentInfo(request, componentDebugInfo); task.timed = !0; - emitTimingChunk(request, componentDebugID, performance.now()); + emitTimingChunk( + request, + componentDebugID, + (task.time = performance.now()) + ); emitDebugChunk(request, componentDebugID, componentDebugInfo); task.environmentName = componentEnv; 2 === validated && @@ -1391,6 +1412,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1405,6 +1427,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1439,7 +1462,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1518,17 +1544,112 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; return task; } + function visitAsyncNode(request, task, node, cutOff, visited) { + if (visited.has(node)) return null; + visited.add(node); + null !== node.previous && + visitAsyncNode(request, task, node.previous, cutOff, visited); + switch (node.tag) { + case 0: + return node; + case 3: + return null; + case 1: + if (node.end < cutOff) return null; + var awaited = node.awaited, + match = null; + null !== awaited && + ((cutOff = visitAsyncNode(request, task, awaited, cutOff, visited)), + null !== cutOff && + (0 === + filterStackTrace(request, parseStackTrace(node.stack, 1)).length + ? (0 > cutOff.end && (cutOff.end = node.end), (match = cutOff)) + : (match = node))); + node = node.debugInfo; + null !== node && forwardDebugInfo(request, task.id, node); + return match; + case 4: + case 2: + awaited = node.awaited; + match = null; + if ( + null !== awaited && + ((visited = visitAsyncNode( + request, + task, + awaited, + cutOff, + visited + )), + null !== visited) + ) { + var endTime = + 4 === node.tag + ? visited.end < node.start + ? node.start + : visited.end + : node.end; + endTime < cutOff || + ((awaited = filterStackTrace( + request, + parseStackTrace(node.stack, 1) + )), + 0 === awaited.length + ? (match = visited) + : (0 > visited.end && (visited.end = endTime), + serializeIONode(request, visited), + (endTime = (0, request.environmentName)()), + node.start <= cutOff + ? emitTimingChunk(request, task.id, cutOff) + : emitTimingChunk(request, task.id, node.start), + request.pendingChunks++, + emitDebugChunk(request, task.id, { + awaited: visited, + env: endTime, + owner: node.owner, + stack: awaited + }), + emitTimingChunk(request, task.id, node.end))); + } + 4 === node.tag + ? ((node = node.debugInfo.deref()), + (node = + void 0 === node || void 0 === node._debugInfo + ? null + : node._debugInfo)) + : (node = node.debugInfo); + null !== node && forwardDebugInfo(request, task.id, node); + return match; + default: + throw Error("Unknown AsyncSequence tag. This is a bug in React."); + } + } + function emitAsyncSequence(request, task, node, cutOff) { + var visited = new Set(); + node = visitAsyncNode(request, task, node, cutOff, visited); + null !== node && + (0 > node.end && (node.end = performance.now()), + serializeIONode(request, node), + request.pendingChunks++, + (visited = (0, request.environmentName)()), + emitTimingChunk(request, task.id, cutOff), + emitDebugChunk(request, task.id, { awaited: node, env: visited }), + emitTimingChunk(request, task.id, node.end)); + } function pingTask(request, task) { task.timed = !0; - var pingedTasks = request.pingedTasks; - pingedTasks.push(task); - 1 === pingedTasks.length && + var sequence = getCurrentAsyncSequence(); + null !== sequence && + emitAsyncSequence(request, task, sequence, task.time); + sequence = request.pingedTasks; + sequence.push(task); + 1 === sequence.length && ((request.flushScheduled = null !== request.destination), request.type === PRERENDER || request.status === OPENING ? scheduleMicrotask(function () { @@ -1544,6 +1665,7 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask @@ -1593,6 +1715,7 @@ thenableState: null, timed: !1 }; + task.time = lastTimestamp; task.environmentName = request.environmentName(); task.debugOwner = debugOwner; task.debugStack = debugStack; @@ -1690,6 +1813,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1788,6 +1912,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1840,6 +1965,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -2245,7 +2371,10 @@ env = request.environmentName(); try { reason = String(postponeInstance.message); - var stack = filterStackTrace(request, postponeInstance, 0); + var stack = filterStackTrace( + request, + parseStackTrace(postponeInstance, 0) + ); } catch (x) { stack = []; } @@ -2262,7 +2391,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2287,7 +2416,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2360,6 +2489,86 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + request.completedRegularChunks.push(id); + } + function serializeIONode(request, ioNode) { + var existingRef = request.writtenObjects.get(ioNode); + if (void 0 !== existingRef) return existingRef; + existingRef = null; + var name = ""; + if (null !== ioNode.stack) { + name = parseStackTrace(ioNode.stack, 1); + existingRef = filterStackTrace(request, name); + a: { + for ( + var bestMatch = "", + filterStackFrame = request.filterStackFrame, + i = 0; + i < name.length; + i++ + ) { + var callsite = name[i], + functionName = callsite[0]; + callsite = devirtualizeURL(callsite[1]); + if (filterStackFrame(callsite, functionName)) { + if ("" === bestMatch) { + name = functionName; + break a; + } + name = bestMatch; + break a; + } else + "new Promise" !== functionName && + "node:internal/async_hooks" !== callsite && + (bestMatch = functionName); + } + name = ""; + } + name.startsWith("Window.") + ? (name = name.slice(7)) + : name.startsWith(".") && (name = name.slice(7)); + } + bestMatch = ioNode.owner; + null != bestMatch && outlineComponentInfo(request, bestMatch); + filterStackFrame = (0, request.environmentName)(); + request.pendingChunks++; + i = request.nextChunkId++; + emitIOInfoChunk( + request, + i, + name, + ioNode.start, + ioNode.end, + filterStackFrame, + bestMatch, + existingRef + ); + existingRef = serializeByValueID(i); + request.writtenObjects.set(ioNode, existingRef); + return existingRef; + } function emitTypedArrayChunk(request, id, tag, typedArray) { if (TaintRegistryByteLengths.has(typedArray.byteLength)) { var tainted = TaintRegistryValues.get( @@ -2434,7 +2643,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2652,14 +2864,44 @@ request.pendingChunks++; request.completedRegularChunks.push(":N" + timeOrigin + "\n"); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" === typeof debugInfo[i].time - ? emitTimingChunk(request, id, debugInfo[i].time) - : (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" === typeof debugInfo[i].time) + emitTimingChunk(request$jscomp$0, id$jscomp$0, debugInfo[i].time); + else if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set(ioInfo$jscomp$0, serializeByValueID(id)); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitTimingChunk(request, id, timestamp) { request.pendingChunks++; @@ -2703,7 +2945,8 @@ emitModelChunk(request, task.id, value)); } function erroredTask(request, task, error) { - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); task.status = ERRORED$1; if ( "object" === typeof error && @@ -2742,7 +2985,8 @@ currentEnv !== task.environmentName && (request.pendingChunks++, emitDebugChunk(request, task.id, { env: currentEnv })); - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); if ("object" === typeof resolvedModel && null !== resolvedModel) request.writtenObjects.set( resolvedModel, @@ -2800,6 +3044,7 @@ } } function performWork(request) { + pendingOperations.delete(async_hooks.executionAsyncId()); var prevDispatcher = ReactSharedInternalsServer.H; ReactSharedInternalsServer.H = HooksDispatcher; var prevRequest = currentRequest; @@ -2822,7 +3067,8 @@ function abortTask(task, request, errorId) { task.status !== RENDERING && ((task.status = ABORTED), - task.timed && emitTimingChunk(request, task.id, performance.now()), + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())), (errorId = serializeByValueID(errorId)), (task = encodeReferenceChunk(request, task.id, errorId)), request.completedErrorChunks.push(task)); @@ -3991,11 +4237,14 @@ } } }; - var framesToSkip = 0, + var currentOwner = null, + pendingOperations = new Map(), + framesToSkip = 0, collectedStackTrace = null, identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), requestStorage = new async_hooks.AsyncLocalStorage(), componentStorage = new async_hooks.AsyncLocalStorage(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), @@ -4107,11 +4356,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -4128,16 +4377,15 @@ } }; HooksDispatcher.useEffectEvent = unsupportedHook; - var currentOwner = null, - DefaultAsyncDispatcher = { - getCacheForType: function (resourceType) { - var cache = (cache = resolveRequest()) ? cache.cache : new Map(); - var entry = cache.get(resourceType); - void 0 === entry && - ((entry = resourceType()), cache.set(resourceType, entry)); - return entry; - } - }; + var DefaultAsyncDispatcher = { + getCacheForType: function (resourceType) { + var cache = (cache = resolveRequest()) ? cache.cache : new Map(); + var entry = cache.get(resourceType); + void 0 === entry && + ((entry = resourceType()), cache.set(resourceType, entry)); + return entry; + } + }; DefaultAsyncDispatcher.getOwner = resolveOwner; var ReactSharedInternalsServer = React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; @@ -4198,16 +4446,111 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); (function () { async_hooks .createHook({ - init: function () {}, - promiseResolve: function () { - async_hooks.executionAsyncId(); + init: function (asyncId, type, triggerAsyncId, resource) { + var trigger = pendingOperations.get(triggerAsyncId); + if ("PROMISE" === type) + if ( + ((type = async_hooks.executionAsyncId()), + type !== triggerAsyncId) + ) { + if (void 0 === trigger) return; + triggerAsyncId = pendingOperations.get(type); + resource = { + tag: 4, + owner: resolveOwner(), + debugInfo: new WeakRef(resource), + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: trigger, + previous: void 0 === triggerAsyncId ? null : triggerAsyncId + }; + } else + resource = { + tag: 3, + owner: resolveOwner(), + debugInfo: new WeakRef(resource), + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: void 0 === trigger ? null : trigger, + previous: null + }; + else if ( + "Microtask" !== type && + "TickObject" !== type && + "Immediate" !== type + ) + resource = + void 0 === trigger + ? { + tag: 0, + owner: resolveOwner(), + debugInfo: null, + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: null, + previous: null + } + : 2 === trigger.tag || 4 === trigger.tag + ? { + tag: 0, + owner: resolveOwner(), + debugInfo: null, + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: null, + previous: trigger + } + : trigger; + else { + if (void 0 === trigger) return; + resource = trigger; + } + pendingOperations.set(asyncId, resource); }, - destroy: function () {} + promiseResolve: function (asyncId) { + var node = pendingOperations.get(asyncId); + if (void 0 !== node) { + switch (node.tag) { + case 4: + node.tag = 2; + var resolvedNode = node; + break; + case 3: + node.tag = 1; + resolvedNode = node; + break; + case 0: + throw Error( + "A Promise should never be an IO_NODE. This is a bug in React." + ); + default: + throw Error( + "A Promise should never be resolved twice. This is a bug in React or Node.js." + ); + } + resolvedNode.end = performance.now(); + node = node.debugInfo.deref(); + resolvedNode.debugInfo = + void 0 === node || void 0 === node._debugInfo + ? null + : node._debugInfo; + node = async_hooks.executionAsyncId(); + asyncId !== node && + ((asyncId = pendingOperations.get(node)), + (resolvedNode.awaited = void 0 === asyncId ? null : asyncId)); + } + }, + destroy: function (asyncId) { + pendingOperations.delete(asyncId); + } }) .enable(); })(); @@ -4368,12 +4711,12 @@ "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_159 = []; + var JSCompiler_object_inline_chunks_174 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_159.push(chunk); + JSCompiler_object_inline_chunks_174.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_159, { + var blob = new Blob(JSCompiler_object_inline_chunks_174, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.production.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.production.js index fb8def7aa3d41..24250300610ef 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.production.js @@ -574,13 +574,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -890,8 +884,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -965,8 +959,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -2064,12 +2058,12 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason, digest = logRecoverableError(request, error, null), - errorId$28 = request.nextChunkId++; - request.fatalError = errorId$28; + errorId$27 = request.nextChunkId++; + request.fatalError = errorId$27; request.pendingChunks++; - emitErrorChunk(request, errorId$28, digest, error); + emitErrorChunk(request, errorId$27, digest, error); abortableTasks.forEach(function (task) { - return abortTask(task, request, errorId$28); + return abortTask(task, request, errorId$27); }); } abortableTasks.clear(); @@ -2077,7 +2071,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$29 = + var error$28 = "object" === typeof reason && null !== reason && reason.$$typeof === REACT_POSTPONE_TYPE @@ -2090,15 +2084,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$29); + return callback(error$28); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$30) { - logRecoverableError(request, error$30, null), fatalError(request, error$30); + } catch (error$29) { + logRecoverableError(request, error$29, null), fatalError(request, error$29); } } function resolveServerReference(bundlerConfig, id) { @@ -2547,8 +2541,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$33 = createPendingChunk(response); - chunk$33.then( + var chunk$32 = createPendingChunk(response); + chunk$32.then( function (v) { return controller.enqueue(v); }, @@ -2556,10 +2550,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$33; + previousBlockedChunk = chunk$32; chunk.then(function () { - previousBlockedChunk === chunk$33 && (previousBlockedChunk = null); - resolveModelChunk(chunk$33, json, -1); + previousBlockedChunk === chunk$32 && (previousBlockedChunk = null); + resolveModelChunk(chunk$32, json, -1); }); } }, @@ -2932,12 +2926,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) { "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_240 = []; + var JSCompiler_object_inline_chunks_251 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_240.push(chunk); + JSCompiler_object_inline_chunks_251.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_240, { + var blob = new Blob(JSCompiler_object_inline_chunks_251, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.development.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.development.js index ce14a75b43e8f..722f2e3141b9f 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.development.js @@ -220,6 +220,15 @@ ((hasProperties = !0), (trimmed[key] = options[key])); return hasProperties ? trimmed : null; } + function resolveOwner() { + if (currentOwner) return currentOwner; + var owner = componentStorage.getStore(); + return owner ? owner : null; + } + function getCurrentAsyncSequence() { + var currentNode = pendingOperations.get(async_hooks.executionAsyncId()); + return void 0 === currentNode ? null : currentNode; + } function collectStackTrace(error, structuredStackTrace) { for ( var result = [], i = framesToSkip; @@ -289,43 +298,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -416,11 +431,6 @@ function unsupportedContext() { throw Error("Cannot read a Client Context from a Server Component."); } - function resolveOwner() { - if (currentOwner) return currentOwner; - var owner = componentStorage.getStore(); - return owner ? owner : null; - } function prepareStackTrace(error, structuredStackTrace) { error = (error.name || "Error") + ": " + (error.message || ""); for (var i = 0; i < structuredStackTrace.length; i++) @@ -632,32 +642,27 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; + function devirtualizeURL(url) { + if (url.startsWith("rsc://React/")) { + var envIdx = url.indexOf("/", 12), + suffixIdx = url.lastIndexOf("?"); + if (-1 < envIdx && -1 < suffixIdx) + return url.slice(envIdx + 1, suffixIdx); } + return url; + } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], functionName = callsite[0], - url = callsite[1]; - if (url.startsWith("rsc://React/")) { - var envIdx = url.indexOf("/", 12), - suffixIdx = url.lastIndexOf("?"); - -1 < envIdx && - -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); - } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + url = devirtualizeURL(callsite[1]); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -673,8 +678,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -834,7 +838,17 @@ this.didWarnForKey = null; type = this.timeOrigin = performance.now(); emitTimeOriginChunk(this, type + performance.timeOrigin); - model = createTask(this, model, null, !1, abortSet, null, null, null); + model = createTask( + this, + model, + null, + !1, + abortSet, + type, + null, + null, + null + ); pingedTasks.push(model); } function createRequest( @@ -901,6 +915,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1006,6 +1021,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1080,6 +1096,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1143,7 +1160,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1245,13 +1262,17 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; outlineComponentInfo(request, componentDebugInfo); task.timed = !0; - emitTimingChunk(request, componentDebugID, performance.now()); + emitTimingChunk( + request, + componentDebugID, + (task.time = performance.now()) + ); emitDebugChunk(request, componentDebugID, componentDebugInfo); task.environmentName = componentEnv; 2 === validated && @@ -1391,6 +1412,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1405,6 +1427,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -1439,7 +1462,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1518,17 +1544,112 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; return task; } + function visitAsyncNode(request, task, node, cutOff, visited) { + if (visited.has(node)) return null; + visited.add(node); + null !== node.previous && + visitAsyncNode(request, task, node.previous, cutOff, visited); + switch (node.tag) { + case 0: + return node; + case 3: + return null; + case 1: + if (node.end < cutOff) return null; + var awaited = node.awaited, + match = null; + null !== awaited && + ((cutOff = visitAsyncNode(request, task, awaited, cutOff, visited)), + null !== cutOff && + (0 === + filterStackTrace(request, parseStackTrace(node.stack, 1)).length + ? (0 > cutOff.end && (cutOff.end = node.end), (match = cutOff)) + : (match = node))); + node = node.debugInfo; + null !== node && forwardDebugInfo(request, task.id, node); + return match; + case 4: + case 2: + awaited = node.awaited; + match = null; + if ( + null !== awaited && + ((visited = visitAsyncNode( + request, + task, + awaited, + cutOff, + visited + )), + null !== visited) + ) { + var endTime = + 4 === node.tag + ? visited.end < node.start + ? node.start + : visited.end + : node.end; + endTime < cutOff || + ((awaited = filterStackTrace( + request, + parseStackTrace(node.stack, 1) + )), + 0 === awaited.length + ? (match = visited) + : (0 > visited.end && (visited.end = endTime), + serializeIONode(request, visited), + (endTime = (0, request.environmentName)()), + node.start <= cutOff + ? emitTimingChunk(request, task.id, cutOff) + : emitTimingChunk(request, task.id, node.start), + request.pendingChunks++, + emitDebugChunk(request, task.id, { + awaited: visited, + env: endTime, + owner: node.owner, + stack: awaited + }), + emitTimingChunk(request, task.id, node.end))); + } + 4 === node.tag + ? ((node = node.debugInfo.deref()), + (node = + void 0 === node || void 0 === node._debugInfo + ? null + : node._debugInfo)) + : (node = node.debugInfo); + null !== node && forwardDebugInfo(request, task.id, node); + return match; + default: + throw Error("Unknown AsyncSequence tag. This is a bug in React."); + } + } + function emitAsyncSequence(request, task, node, cutOff) { + var visited = new Set(); + node = visitAsyncNode(request, task, node, cutOff, visited); + null !== node && + (0 > node.end && (node.end = performance.now()), + serializeIONode(request, node), + request.pendingChunks++, + (visited = (0, request.environmentName)()), + emitTimingChunk(request, task.id, cutOff), + emitDebugChunk(request, task.id, { awaited: node, env: visited }), + emitTimingChunk(request, task.id, node.end)); + } function pingTask(request, task) { task.timed = !0; - var pingedTasks = request.pingedTasks; - pingedTasks.push(task); - 1 === pingedTasks.length && + var sequence = getCurrentAsyncSequence(); + null !== sequence && + emitAsyncSequence(request, task, sequence, task.time); + sequence = request.pingedTasks; + sequence.push(task); + 1 === sequence.length && ((request.flushScheduled = null !== request.destination), request.type === PRERENDER || request.status === OPENING ? scheduleMicrotask(function () { @@ -1544,6 +1665,7 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask @@ -1593,6 +1715,7 @@ thenableState: null, timed: !1 }; + task.time = lastTimestamp; task.environmentName = request.environmentName(); task.debugOwner = debugOwner; task.debugStack = debugStack; @@ -1690,6 +1813,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1788,6 +1912,7 @@ null, !1, request.abortableTasks, + performance.now(), null, null, null @@ -1840,6 +1965,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + task.time, task.debugOwner, task.debugStack, task.debugTask @@ -2245,7 +2371,10 @@ env = request.environmentName(); try { reason = String(postponeInstance.message); - var stack = filterStackTrace(request, postponeInstance, 0); + var stack = filterStackTrace( + request, + parseStackTrace(postponeInstance, 0) + ); } catch (x) { stack = []; } @@ -2262,7 +2391,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2287,7 +2416,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2360,6 +2489,86 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + request.completedRegularChunks.push(id); + } + function serializeIONode(request, ioNode) { + var existingRef = request.writtenObjects.get(ioNode); + if (void 0 !== existingRef) return existingRef; + existingRef = null; + var name = ""; + if (null !== ioNode.stack) { + name = parseStackTrace(ioNode.stack, 1); + existingRef = filterStackTrace(request, name); + a: { + for ( + var bestMatch = "", + filterStackFrame = request.filterStackFrame, + i = 0; + i < name.length; + i++ + ) { + var callsite = name[i], + functionName = callsite[0]; + callsite = devirtualizeURL(callsite[1]); + if (filterStackFrame(callsite, functionName)) { + if ("" === bestMatch) { + name = functionName; + break a; + } + name = bestMatch; + break a; + } else + "new Promise" !== functionName && + "node:internal/async_hooks" !== callsite && + (bestMatch = functionName); + } + name = ""; + } + name.startsWith("Window.") + ? (name = name.slice(7)) + : name.startsWith(".") && (name = name.slice(7)); + } + bestMatch = ioNode.owner; + null != bestMatch && outlineComponentInfo(request, bestMatch); + filterStackFrame = (0, request.environmentName)(); + request.pendingChunks++; + i = request.nextChunkId++; + emitIOInfoChunk( + request, + i, + name, + ioNode.start, + ioNode.end, + filterStackFrame, + bestMatch, + existingRef + ); + existingRef = serializeByValueID(i); + request.writtenObjects.set(ioNode, existingRef); + return existingRef; + } function emitTypedArrayChunk(request, id, tag, typedArray) { if (TaintRegistryByteLengths.has(typedArray.byteLength)) { var tainted = TaintRegistryValues.get( @@ -2434,7 +2643,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2652,14 +2864,44 @@ request.pendingChunks++; request.completedRegularChunks.push(":N" + timeOrigin + "\n"); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" === typeof debugInfo[i].time - ? emitTimingChunk(request, id, debugInfo[i].time) - : (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" === typeof debugInfo[i].time) + emitTimingChunk(request$jscomp$0, id$jscomp$0, debugInfo[i].time); + else if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set(ioInfo$jscomp$0, serializeByValueID(id)); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitTimingChunk(request, id, timestamp) { request.pendingChunks++; @@ -2703,7 +2945,8 @@ emitModelChunk(request, task.id, value)); } function erroredTask(request, task, error) { - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); task.status = ERRORED$1; if ( "object" === typeof error && @@ -2742,7 +2985,8 @@ currentEnv !== task.environmentName && (request.pendingChunks++, emitDebugChunk(request, task.id, { env: currentEnv })); - task.timed && emitTimingChunk(request, task.id, performance.now()); + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())); if ("object" === typeof resolvedModel && null !== resolvedModel) request.writtenObjects.set( resolvedModel, @@ -2800,6 +3044,7 @@ } } function performWork(request) { + pendingOperations.delete(async_hooks.executionAsyncId()); var prevDispatcher = ReactSharedInternalsServer.H; ReactSharedInternalsServer.H = HooksDispatcher; var prevRequest = currentRequest; @@ -2822,7 +3067,8 @@ function abortTask(task, request, errorId) { task.status !== RENDERING && ((task.status = ABORTED), - task.timed && emitTimingChunk(request, task.id, performance.now()), + task.timed && + emitTimingChunk(request, task.id, (task.time = performance.now())), (errorId = serializeByValueID(errorId)), (task = encodeReferenceChunk(request, task.id, errorId)), request.completedErrorChunks.push(task)); @@ -3954,11 +4200,14 @@ } } }; - var framesToSkip = 0, + var currentOwner = null, + pendingOperations = new Map(), + framesToSkip = 0, collectedStackTrace = null, identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), requestStorage = new async_hooks.AsyncLocalStorage(), componentStorage = new async_hooks.AsyncLocalStorage(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), @@ -4070,11 +4319,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -4091,16 +4340,15 @@ } }; HooksDispatcher.useEffectEvent = unsupportedHook; - var currentOwner = null, - DefaultAsyncDispatcher = { - getCacheForType: function (resourceType) { - var cache = (cache = resolveRequest()) ? cache.cache : new Map(); - var entry = cache.get(resourceType); - void 0 === entry && - ((entry = resourceType()), cache.set(resourceType, entry)); - return entry; - } - }; + var DefaultAsyncDispatcher = { + getCacheForType: function (resourceType) { + var cache = (cache = resolveRequest()) ? cache.cache : new Map(); + var entry = cache.get(resourceType); + void 0 === entry && + ((entry = resourceType()), cache.set(resourceType, entry)); + return entry; + } + }; DefaultAsyncDispatcher.getOwner = resolveOwner; var ReactSharedInternalsServer = React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; @@ -4161,16 +4409,111 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); (function () { async_hooks .createHook({ - init: function () {}, - promiseResolve: function () { - async_hooks.executionAsyncId(); + init: function (asyncId, type, triggerAsyncId, resource) { + var trigger = pendingOperations.get(triggerAsyncId); + if ("PROMISE" === type) + if ( + ((type = async_hooks.executionAsyncId()), + type !== triggerAsyncId) + ) { + if (void 0 === trigger) return; + triggerAsyncId = pendingOperations.get(type); + resource = { + tag: 4, + owner: resolveOwner(), + debugInfo: new WeakRef(resource), + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: trigger, + previous: void 0 === triggerAsyncId ? null : triggerAsyncId + }; + } else + resource = { + tag: 3, + owner: resolveOwner(), + debugInfo: new WeakRef(resource), + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: void 0 === trigger ? null : trigger, + previous: null + }; + else if ( + "Microtask" !== type && + "TickObject" !== type && + "Immediate" !== type + ) + resource = + void 0 === trigger + ? { + tag: 0, + owner: resolveOwner(), + debugInfo: null, + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: null, + previous: null + } + : 2 === trigger.tag || 4 === trigger.tag + ? { + tag: 0, + owner: resolveOwner(), + debugInfo: null, + stack: Error(), + start: performance.now(), + end: -1.1, + awaited: null, + previous: trigger + } + : trigger; + else { + if (void 0 === trigger) return; + resource = trigger; + } + pendingOperations.set(asyncId, resource); }, - destroy: function () {} + promiseResolve: function (asyncId) { + var node = pendingOperations.get(asyncId); + if (void 0 !== node) { + switch (node.tag) { + case 4: + node.tag = 2; + var resolvedNode = node; + break; + case 3: + node.tag = 1; + resolvedNode = node; + break; + case 0: + throw Error( + "A Promise should never be an IO_NODE. This is a bug in React." + ); + default: + throw Error( + "A Promise should never be resolved twice. This is a bug in React or Node.js." + ); + } + resolvedNode.end = performance.now(); + node = node.debugInfo.deref(); + resolvedNode.debugInfo = + void 0 === node || void 0 === node._debugInfo + ? null + : node._debugInfo; + node = async_hooks.executionAsyncId(); + asyncId !== node && + ((asyncId = pendingOperations.get(node)), + (resolvedNode.awaited = void 0 === asyncId ? null : asyncId)); + } + }, + destroy: function (asyncId) { + pendingOperations.delete(asyncId); + } }) .enable(); })(); @@ -4331,12 +4674,12 @@ "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_159 = []; + var JSCompiler_object_inline_chunks_174 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_159.push(chunk); + JSCompiler_object_inline_chunks_174.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_159, { + var blob = new Blob(JSCompiler_object_inline_chunks_174, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.production.js b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.production.js index b1eb2673453c0..2921ea8bcebd6 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.production.js @@ -574,13 +574,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -890,8 +884,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -965,8 +959,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -2064,12 +2058,12 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason, digest = logRecoverableError(request, error, null), - errorId$28 = request.nextChunkId++; - request.fatalError = errorId$28; + errorId$27 = request.nextChunkId++; + request.fatalError = errorId$27; request.pendingChunks++; - emitErrorChunk(request, errorId$28, digest, error); + emitErrorChunk(request, errorId$27, digest, error); abortableTasks.forEach(function (task) { - return abortTask(task, request, errorId$28); + return abortTask(task, request, errorId$27); }); } abortableTasks.clear(); @@ -2077,7 +2071,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$29 = + var error$28 = "object" === typeof reason && null !== reason && reason.$$typeof === REACT_POSTPONE_TYPE @@ -2090,15 +2084,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$29); + return callback(error$28); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$30) { - logRecoverableError(request, error$30, null), fatalError(request, error$30); + } catch (error$29) { + logRecoverableError(request, error$29, null), fatalError(request, error$29); } } function resolveServerReference(bundlerConfig, id) { @@ -2513,8 +2507,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$33 = createPendingChunk(response); - chunk$33.then( + var chunk$32 = createPendingChunk(response); + chunk$32.then( function (v) { return controller.enqueue(v); }, @@ -2522,10 +2516,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$33; + previousBlockedChunk = chunk$32; chunk.then(function () { - previousBlockedChunk === chunk$33 && (previousBlockedChunk = null); - resolveModelChunk(chunk$33, json, -1); + previousBlockedChunk === chunk$32 && (previousBlockedChunk = null); + resolveModelChunk(chunk$32, json, -1); }); } }, @@ -2898,12 +2892,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) { "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_240 = []; + var JSCompiler_object_inline_chunks_251 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_240.push(chunk); + JSCompiler_object_inline_chunks_251.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_240, { + var blob = new Blob(JSCompiler_object_inline_chunks_251, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-webpack-experimental/package.json b/packages/next/src/compiled/react-server-dom-webpack-experimental/package.json index cd910721f86bd..99d921bf24858 100644 --- a/packages/next/src/compiled/react-server-dom-webpack-experimental/package.json +++ b/packages/next/src/compiled/react-server-dom-webpack-experimental/package.json @@ -64,8 +64,8 @@ "webpack-sources": "^3.2.0" }, "peerDependencies": { - "react": "0.0.0-experimental-14094f80-20250529", - "react-dom": "0.0.0-experimental-14094f80-20250529", + "react": "0.0.0-experimental-37054867-20250604", + "react-dom": "0.0.0-experimental-37054867-20250604", "webpack": "^5.59.0" } } \ No newline at end of file diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js index 81366573309ec..ea66eed0d0b24 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js @@ -1855,6 +1855,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2008,10 +2009,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2030,8 +2041,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2054,7 +2065,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2068,7 +2080,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2081,13 +2094,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2319,6 +2350,7 @@ function () {} ); break; + case 74: case 87: resolveConsoleEntry(response, row); break; @@ -2396,7 +2428,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2649,6 +2687,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -2713,6 +2752,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { @@ -2746,10 +2786,10 @@ return hook.checkDCE ? !0 : !1; })({ bundleType: 1, - version: "19.2.0-canary-14094f80-20250529", + version: "19.2.0-canary-37054867-20250604", rendererPackageName: "react-server-dom-webpack", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.2.0-canary-14094f80-20250529", + reconcilerVersion: "19.2.0-canary-37054867-20250604", getCurrentComponentInfo: function () { return currentOwnerInDEV; } diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js index aabe419e9cacf..64e2a4507dcdc 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js @@ -1431,6 +1431,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js index f03b82d509a5c..57da1a1a4f014 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js @@ -2075,6 +2075,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2228,10 +2229,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2250,8 +2261,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2274,7 +2285,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2288,7 +2300,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2301,13 +2314,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2539,6 +2570,7 @@ function () {} ); break; + case 74: case 87: resolveConsoleEntry(response, row); break; @@ -2616,7 +2648,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2869,6 +2907,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -2933,6 +2972,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.production.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.production.js index 4db87df13a399..6882c024852b3 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.production.js @@ -1612,6 +1612,7 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js index f4c5a1ab4f47c..d27403fcbc22a 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js @@ -2075,6 +2075,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2228,10 +2229,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2250,8 +2261,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2274,7 +2285,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2288,7 +2300,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2301,13 +2314,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2539,6 +2570,7 @@ function () {} ); break; + case 74: case 87: resolveConsoleEntry(response, row); break; @@ -2616,7 +2648,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2757,6 +2795,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -2821,6 +2860,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js index 746024237bdb8..5be9504d6a2f7 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js @@ -1615,6 +1615,7 @@ function processFullStringRow(response, id, tag, row) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js index fc5caf6560ca4..8f7fe14ce828d 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js @@ -2037,6 +2037,7 @@ response, errorInfo.stack, env, + !1, Error.bind( null, errorInfo.message || @@ -2190,10 +2191,20 @@ } return fn; } - function buildFakeCallStack(response, stack, environmentName, innerCall) { + function buildFakeCallStack( + response, + stack, + environmentName, + useEnclosingLine, + innerCall + ) { for (var i = 0; i < stack.length; i++) { var frame = stack[i], - frameKey = frame.join("-") + "-" + environmentName, + frameKey = + frame.join("-") + + "-" + + environmentName + + (useEnclosingLine ? "-e" : "-n"), fn = fakeFunctionCache.get(frameKey); if (void 0 === fn) { fn = frame[0]; @@ -2212,8 +2223,8 @@ findSourceMapURL, line, col, - enclosingLine, - frame, + useEnclosingLine ? line : enclosingLine, + useEnclosingLine ? col : frame, environmentName ); fakeFunctionCache.set(frameKey, fn); @@ -2236,7 +2247,8 @@ } function initializeFakeTask(response, debugInfo, childEnvironmentName) { if (!supportsCreateTask || null == debugInfo.stack) return null; - var stack = debugInfo.stack, + var useEnclosingLine = void 0 === debugInfo.key, + stack = debugInfo.stack, env = null == debugInfo.env ? response._rootEnvironmentName : debugInfo.env; if (env !== childEnvironmentName) @@ -2250,7 +2262,8 @@ debugInfo, stack, '"use ' + childEnvironmentName.toLowerCase() + '"', - env + env, + useEnclosingLine ) ); childEnvironmentName = debugInfo.debugTask; @@ -2263,13 +2276,31 @@ response, childEnvironmentName, stack, - "<" + (debugInfo.name || "...") + ">", - env + void 0 !== debugInfo.key + ? "<" + (debugInfo.name || "...") + ">" + : void 0 !== debugInfo.name + ? debugInfo.name || "unknown" + : "await " + (debugInfo.awaited.name || "unknown"), + env, + useEnclosingLine )); } - function buildFakeTask(response, ownerTask, stack, taskName, env) { + function buildFakeTask( + response, + ownerTask, + stack, + taskName, + env, + useEnclosingLine + ) { taskName = console.createTask.bind(console, taskName); - stack = buildFakeCallStack(response, stack, env, taskName); + stack = buildFakeCallStack( + response, + stack, + env, + useEnclosingLine, + taskName + ); return null === ownerTask ? ((response = getRootTask(response, env)), null != response ? response.run(stack) : stack()) @@ -2501,6 +2532,7 @@ function () {} ); break; + case 74: case 87: resolveConsoleEntry(response, row); break; @@ -2578,7 +2610,13 @@ supportsCreateTask && null !== stack && ((type = console.createTask.bind(console, getTaskName(type))), - (stack = buildFakeCallStack(response, stack, validated, type)), + (stack = buildFakeCallStack( + response, + stack, + validated, + !1, + type + )), (type = null === key ? null @@ -2719,6 +2757,7 @@ response, stack, environmentName, + !1, fakeJSXCallSite )(); } @@ -2783,6 +2822,7 @@ response, stackTrace, env, + !1, JSCompiler_inline_result ); if (null != owner) { diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js index 6645ec2a8dd11..0e0a207fa379b 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js @@ -1580,6 +1580,7 @@ function processFullStringRow(response, id, tag, row) { break; case 78: case 68: + case 74: case 87: throw Error( "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client." diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js index e382b50702c91..f2eb84c0737e3 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js @@ -266,43 +266,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -599,32 +605,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -640,8 +639,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -781,7 +779,7 @@ ? defaultFilterStackFrame : filterStackFrame; this.didWarnForKey = null; - type = createTask(this, model, null, !1, abortSet, null, null, null); + type = createTask(this, model, null, !1, abortSet, 0, null, null, null); pingedTasks.push(type); } function createRequest( @@ -843,6 +841,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -944,6 +943,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1017,6 +1017,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1081,7 +1082,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1183,7 +1184,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; @@ -1301,6 +1302,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1315,6 +1317,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1349,7 +1352,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1428,7 +1434,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1453,19 +1459,20 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask ) { request.pendingChunks++; - var id = request.nextChunkId++; + lastTimestamp = request.nextChunkId++; "object" !== typeof model || null === model || null !== keyPath || implicitSlot || - request.writtenObjects.set(model, serializeByValueID(id)); + request.writtenObjects.set(model, serializeByValueID(lastTimestamp)); var task = { - id: id, + id: lastTimestamp, status: PENDING$1, model: model, keyPath: keyPath, @@ -1600,6 +1607,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1697,6 +1705,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1742,6 +1751,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -2106,7 +2116,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2131,7 +2141,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2207,6 +2217,31 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + id = stringToChunk(id); + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { request.pendingChunks++; var buffer = new Uint8Array( @@ -2272,7 +2307,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2484,13 +2522,46 @@ methodName = stringToChunk(":W" + json + "\n"); request.completedRegularChunks.push(methodName); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" !== typeof debugInfo[i].time && - (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" !== typeof debugInfo[i].time) + if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set( + ioInfo$jscomp$0, + serializeByValueID(id) + ); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitChunk(request, task, value) { var id = task.id; @@ -3751,6 +3822,7 @@ identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { @@ -3859,11 +3931,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -3951,8 +4023,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js index 66d6b0235b334..07fe0046b3bda 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js @@ -554,13 +554,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -838,8 +832,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -912,8 +906,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -1919,7 +1913,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$25 = + var error$24 = void 0 === reason ? Error("The render was aborted by the server without a reason.") : "object" === typeof reason && @@ -1928,15 +1922,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$25); + return callback(error$24); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$26) { - logRecoverableError(request, error$26, null), fatalError(request, error$26); + } catch (error$25) { + logRecoverableError(request, error$25, null), fatalError(request, error$25); } } function resolveServerReference(bundlerConfig, id) { @@ -2394,8 +2388,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$29 = createPendingChunk(response); - chunk$29.then( + var chunk$28 = createPendingChunk(response); + chunk$28.then( function (v) { return controller.enqueue(v); }, @@ -2403,10 +2397,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$29; + previousBlockedChunk = chunk$28; chunk.then(function () { - previousBlockedChunk === chunk$29 && (previousBlockedChunk = null); - resolveModelChunk(chunk$29, json, -1); + previousBlockedChunk === chunk$28 && (previousBlockedChunk = null); + resolveModelChunk(chunk$28, json, -1); }); } }, diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js index 1be7b735af009..90a99a3eee0f7 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js @@ -279,43 +279,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -615,32 +621,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -656,8 +655,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -797,7 +795,7 @@ ? defaultFilterStackFrame : filterStackFrame; this.didWarnForKey = null; - type = createTask(this, model, null, !1, abortSet, null, null, null); + type = createTask(this, model, null, !1, abortSet, 0, null, null, null); pingedTasks.push(type); } function createRequest( @@ -867,6 +865,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -968,6 +967,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1041,6 +1041,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1105,7 +1106,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1207,7 +1208,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; @@ -1373,6 +1374,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1387,6 +1389,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1421,7 +1424,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1500,7 +1506,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1525,19 +1531,20 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask ) { request.pendingChunks++; - var id = request.nextChunkId++; + lastTimestamp = request.nextChunkId++; "object" !== typeof model || null === model || null !== keyPath || implicitSlot || - request.writtenObjects.set(model, serializeByValueID(id)); + request.writtenObjects.set(model, serializeByValueID(lastTimestamp)); var task = { - id: id, + id: lastTimestamp, status: PENDING$1, model: model, keyPath: keyPath, @@ -1672,6 +1679,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1769,6 +1777,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1814,6 +1823,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -2189,7 +2199,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2214,7 +2224,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2290,6 +2300,31 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + id = stringToChunk(id); + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { request.pendingChunks++; var buffer = new Uint8Array( @@ -2355,7 +2390,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2567,13 +2605,46 @@ methodName = stringToChunk(":W" + json + "\n"); request.completedRegularChunks.push(methodName); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" !== typeof debugInfo[i].time && - (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" !== typeof debugInfo[i].time) + if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set( + ioInfo$jscomp$0, + serializeByValueID(id) + ); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitChunk(request, task, value) { var id = task.id; @@ -3841,19 +3912,14 @@ identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), supportsRequestStorage = "function" === typeof AsyncLocalStorage, requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null, supportsComponentStorage = supportsRequestStorage, componentStorage = supportsComponentStorage ? new AsyncLocalStorage() - : null; - "object" === typeof async_hooks - ? async_hooks.createHook - : function () { - return { enable: function () {}, disable: function () {} }; - }; - "object" === typeof async_hooks ? async_hooks.executionAsyncId : null; - var TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), + : null, + TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { switch (name) { @@ -3948,11 +4014,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -4038,8 +4104,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js index e5903db0b7d06..e3d7369afbbe3 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js @@ -395,14 +395,8 @@ function trimOptions(options) { return hasProperties ? trimmed : null; } var supportsRequestStorage = "function" === typeof AsyncLocalStorage, - requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null; -"object" === typeof async_hooks - ? async_hooks.createHook - : function () { - return { enable: function () {}, disable: function () {} }; - }; -"object" === typeof async_hooks ? async_hooks.executionAsyncId : null; -var TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), + requestStorage = supportsRequestStorage ? new AsyncLocalStorage() : null, + TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), proxyHandlers = { get: function (target, name) { switch (name) { @@ -561,13 +555,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -852,8 +840,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -926,8 +914,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -1939,7 +1927,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$25 = + var error$24 = void 0 === reason ? Error("The render was aborted by the server without a reason.") : "object" === typeof reason && @@ -1948,15 +1936,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$25); + return callback(error$24); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$26) { - logRecoverableError(request, error$26, null), fatalError(request, error$26); + } catch (error$25) { + logRecoverableError(request, error$25, null), fatalError(request, error$25); } } function resolveServerReference(bundlerConfig, id) { @@ -2405,8 +2393,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$29 = createPendingChunk(response); - chunk$29.then( + var chunk$28 = createPendingChunk(response); + chunk$28.then( function (v) { return controller.enqueue(v); }, @@ -2414,10 +2402,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$29; + previousBlockedChunk = chunk$28; chunk.then(function () { - previousBlockedChunk === chunk$29 && (previousBlockedChunk = null); - resolveModelChunk(chunk$29, json, -1); + previousBlockedChunk === chunk$28 && (previousBlockedChunk = null); + resolveModelChunk(chunk$28, json, -1); }); } }, diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js index b8e2feba06b48..6905c2759c920 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js @@ -220,6 +220,11 @@ ((hasProperties = !0), (trimmed[key] = options[key])); return hasProperties ? trimmed : null; } + function resolveOwner() { + if (currentOwner) return currentOwner; + var owner = componentStorage.getStore(); + return owner ? owner : null; + } function collectStackTrace(error, structuredStackTrace) { for ( var result = [], i = framesToSkip; @@ -289,43 +294,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -416,11 +427,6 @@ function unsupportedContext() { throw Error("Cannot read a Client Context from a Server Component."); } - function resolveOwner() { - if (currentOwner) return currentOwner; - var owner = componentStorage.getStore(); - return owner ? owner : null; - } function prepareStackTrace(error, structuredStackTrace) { error = (error.name || "Error") + ": " + (error.message || ""); for (var i = 0; i < structuredStackTrace.length; i++) @@ -630,32 +636,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -671,8 +670,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -812,7 +810,7 @@ ? defaultFilterStackFrame : filterStackFrame; this.didWarnForKey = null; - type = createTask(this, model, null, !1, abortSet, null, null, null); + type = createTask(this, model, null, !1, abortSet, 0, null, null, null); pingedTasks.push(type); } function createRequest( @@ -879,6 +877,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -980,6 +979,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1053,6 +1053,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1116,7 +1117,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1218,7 +1219,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; @@ -1362,6 +1363,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1376,6 +1378,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1410,7 +1413,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1489,7 +1495,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1514,19 +1520,20 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask ) { request.pendingChunks++; - var id = request.nextChunkId++; + lastTimestamp = request.nextChunkId++; "object" !== typeof model || null === model || null !== keyPath || implicitSlot || - request.writtenObjects.set(model, serializeByValueID(id)); + request.writtenObjects.set(model, serializeByValueID(lastTimestamp)); var task = { - id: id, + id: lastTimestamp, status: PENDING$1, model: model, keyPath: keyPath, @@ -1659,6 +1666,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1756,6 +1764,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1801,6 +1810,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -2171,7 +2181,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2196,7 +2206,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2269,6 +2279,30 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { request.pendingChunks++; typedArray = new Uint8Array( @@ -2330,7 +2364,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2540,13 +2577,46 @@ } request.completedRegularChunks.push(":W" + json + "\n"); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" !== typeof debugInfo[i].time && - (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" !== typeof debugInfo[i].time) + if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set( + ioInfo$jscomp$0, + serializeByValueID(id) + ); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitChunk(request, task, value) { var id = task.id; @@ -3821,11 +3891,13 @@ } } }; - var framesToSkip = 0, + var currentOwner = null, + framesToSkip = 0, collectedStackTrace = null, identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), requestStorage = new async_hooks.AsyncLocalStorage(), componentStorage = new async_hooks.AsyncLocalStorage(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), @@ -3936,11 +4008,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -3956,7 +4028,6 @@ return unsupportedRefresh; } }, - currentOwner = null, DefaultAsyncDispatcher = { getCacheForType: function (resourceType) { var cache = (cache = resolveRequest()) ? cache.cache : new Map(); @@ -4026,8 +4097,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), @@ -4179,12 +4249,12 @@ "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_156 = []; + var JSCompiler_object_inline_chunks_165 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_156.push(chunk); + JSCompiler_object_inline_chunks_165.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_156, { + var blob = new Blob(JSCompiler_object_inline_chunks_165, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js index 9ce6b5a697301..c63a619f2d28b 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js @@ -572,13 +572,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -860,8 +854,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -934,8 +928,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -1955,7 +1949,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$25 = + var error$24 = void 0 === reason ? Error("The render was aborted by the server without a reason.") : "object" === typeof reason && @@ -1964,15 +1958,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$25); + return callback(error$24); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$26) { - logRecoverableError(request, error$26, null), fatalError(request, error$26); + } catch (error$25) { + logRecoverableError(request, error$25, null), fatalError(request, error$25); } } function resolveServerReference(bundlerConfig, id) { @@ -2421,8 +2415,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$29 = createPendingChunk(response); - chunk$29.then( + var chunk$28 = createPendingChunk(response); + chunk$28.then( function (v) { return controller.enqueue(v); }, @@ -2430,10 +2424,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$29; + previousBlockedChunk = chunk$28; chunk.then(function () { - previousBlockedChunk === chunk$29 && (previousBlockedChunk = null); - resolveModelChunk(chunk$29, json, -1); + previousBlockedChunk === chunk$28 && (previousBlockedChunk = null); + resolveModelChunk(chunk$28, json, -1); }); } }, @@ -2806,12 +2800,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) { "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_233 = []; + var JSCompiler_object_inline_chunks_244 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_233.push(chunk); + JSCompiler_object_inline_chunks_244.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_233, { + var blob = new Blob(JSCompiler_object_inline_chunks_244, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js index 88cb637ef8902..7e7f0e6f5dd23 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js @@ -220,6 +220,11 @@ ((hasProperties = !0), (trimmed[key] = options[key])); return hasProperties ? trimmed : null; } + function resolveOwner() { + if (currentOwner) return currentOwner; + var owner = componentStorage.getStore(); + return owner ? owner : null; + } function collectStackTrace(error, structuredStackTrace) { for ( var result = [], i = framesToSkip; @@ -289,43 +294,49 @@ return error; } function parseStackTrace(error, skipFrames) { + var existing = stackTraceCache.get(error); + if (void 0 !== existing) return existing; collectedStackTrace = null; framesToSkip = skipFrames; - var previousPrepare = Error.prepareStackTrace; + existing = Error.prepareStackTrace; Error.prepareStackTrace = collectStackTrace; try { var stack = String(error.stack); } finally { - Error.prepareStackTrace = previousPrepare; + Error.prepareStackTrace = existing; } if (null !== collectedStackTrace) return ( (skipFrames = collectedStackTrace), (collectedStackTrace = null), + stackTraceCache.set(error, skipFrames), skipFrames ); stack.startsWith("Error: react-stack-top-frame\n") && (stack = stack.slice(29)); - error = stack.indexOf("react-stack-bottom-frame"); - -1 !== error && (error = stack.lastIndexOf("\n", error)); - -1 !== error && (stack = stack.slice(0, error)); + existing = stack.indexOf("react-stack-bottom-frame"); + -1 !== existing && (existing = stack.lastIndexOf("\n", existing)); + -1 !== existing && (stack = stack.slice(0, existing)); stack = stack.split("\n"); - for (error = []; skipFrames < stack.length; skipFrames++) - if ((previousPrepare = frameRegExp.exec(stack[skipFrames]))) { - var name = previousPrepare[1] || ""; + for (existing = []; skipFrames < stack.length; skipFrames++) { + var parsed = frameRegExp.exec(stack[skipFrames]); + if (parsed) { + var name = parsed[1] || ""; "" === name && (name = ""); - var filename = previousPrepare[2] || previousPrepare[5] || ""; + var filename = parsed[2] || parsed[5] || ""; "" === filename && (filename = ""); - error.push([ + existing.push([ name, filename, - +(previousPrepare[3] || previousPrepare[6]), - +(previousPrepare[4] || previousPrepare[7]), + +(parsed[3] || parsed[6]), + +(parsed[4] || parsed[7]), 0, 0 ]); } - return error; + } + stackTraceCache.set(error, existing); + return existing; } function createTemporaryReference(temporaryReferences, id) { var reference = Object.defineProperties( @@ -416,11 +427,6 @@ function unsupportedContext() { throw Error("Cannot read a Client Context from a Server Component."); } - function resolveOwner() { - if (currentOwner) return currentOwner; - var owner = componentStorage.getStore(); - return owner ? owner : null; - } function prepareStackTrace(error, structuredStackTrace) { error = (error.name || "Error") + ": " + (error.message || ""); for (var i = 0; i < structuredStackTrace.length; i++) @@ -630,32 +636,25 @@ !filename.includes("node_modules") ); } - function filterStackTrace(request, error, skipFrames) { - var existing = stackTraceCache.get(error); - if (void 0 !== existing) { - error = existing.slice(0); - for (request = 0; request < error.length; request++) - error[request] = error[request].slice(0); - return error; - } + function filterStackTrace(request, stack) { request = request.filterStackFrame; - skipFrames = parseStackTrace(error, skipFrames); - for (existing = 0; existing < skipFrames.length; existing++) { - var callsite = skipFrames[existing], - functionName = callsite[0], - url = callsite[1]; + for (var filteredStack = [], i = 0; i < stack.length; i++) { + var callsite = stack[i], + functionName = callsite[0]; + var url = callsite[1]; if (url.startsWith("rsc://React/")) { var envIdx = url.indexOf("/", 12), suffixIdx = url.lastIndexOf("?"); -1 < envIdx && -1 < suffixIdx && - (url = callsite[1] = url.slice(envIdx + 1, suffixIdx)); + (url = url.slice(envIdx + 1, suffixIdx)); } - request(url, functionName) || - (skipFrames.splice(existing, 1), existing--); + request(url, functionName) && + ((callsite = callsite.slice(0)), + (callsite[1] = url), + filteredStack.push(callsite)); } - stackTraceCache.set(error, skipFrames); - return skipFrames; + return filteredStack; } function patchConsole(consoleInst, methodName) { var descriptor = Object.getOwnPropertyDescriptor(consoleInst, methodName); @@ -671,8 +670,7 @@ if (("assert" !== methodName || !arguments[0]) && null !== request) { var stack = filterStackTrace( request, - Error("react-stack-top-frame"), - 1 + parseStackTrace(Error("react-stack-top-frame"), 1) ); request.pendingChunks++; var owner = resolveOwner(); @@ -812,7 +810,7 @@ ? defaultFilterStackFrame : filterStackFrame; this.didWarnForKey = null; - type = createTask(this, model, null, !1, abortSet, null, null, null); + type = createTask(this, model, null, !1, abortSet, 0, null, null, null); pingedTasks.push(type); } function createRequest( @@ -879,6 +877,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -980,6 +979,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1053,6 +1053,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1116,7 +1117,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.debugStack = task.debugStack; request = componentDebugInfo.debugTask = task.debugTask; currentOwner = componentDebugInfo; @@ -1218,7 +1219,7 @@ componentDebugInfo.stack = null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1); + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)); componentDebugInfo.props = props; componentDebugInfo.debugStack = task.debugStack; componentDebugInfo.debugTask = task.debugTask; @@ -1362,6 +1363,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1376,6 +1378,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -1410,7 +1413,10 @@ stack: null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace( + request, + parseStackTrace(task.debugStack, 1) + ), props: props, debugStack: task.debugStack, debugTask: task.debugTask @@ -1489,7 +1495,7 @@ task.debugOwner, null === task.debugStack ? null - : filterStackTrace(request, task.debugStack, 1), + : filterStackTrace(request, parseStackTrace(task.debugStack, 1)), validated ]; task = task.implicitSlot && null !== key ? [request] : request; @@ -1514,19 +1520,20 @@ keyPath, implicitSlot, abortSet, + lastTimestamp, debugOwner, debugStack, debugTask ) { request.pendingChunks++; - var id = request.nextChunkId++; + lastTimestamp = request.nextChunkId++; "object" !== typeof model || null === model || null !== keyPath || implicitSlot || - request.writtenObjects.set(model, serializeByValueID(id)); + request.writtenObjects.set(model, serializeByValueID(lastTimestamp)); var task = { - id: id, + id: lastTimestamp, status: PENDING$1, model: model, keyPath: keyPath, @@ -1659,6 +1666,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1756,6 +1764,7 @@ null, !1, request.abortableTasks, + 0, null, null, null @@ -1801,6 +1810,7 @@ task.keyPath, task.implicitSlot, request.abortableTasks, + 0, task.debugOwner, task.debugStack, task.debugTask @@ -2171,7 +2181,7 @@ try { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } catch (x) { @@ -2196,7 +2206,7 @@ if (error instanceof Error) { name = error.name; var message = String(error.message); - var stack = filterStackTrace(request, error, 0); + var stack = filterStackTrace(request, parseStackTrace(error, 0)); var errorEnv = error.environmentName; "string" === typeof errorEnv && (env = errorEnv); } else @@ -2269,6 +2279,30 @@ ); } } + function emitIOInfoChunk(request, id, name, start, end, env, owner, stack) { + var objectLimit = 10; + stack && (objectLimit += stack.length); + var counter = { objectLimit: objectLimit }; + name = { + name: name, + start: start - request.timeOrigin, + end: end - request.timeOrigin + }; + null != env && (name.env = env); + null != stack && (name.stack = stack); + null != owner && (name.owner = owner); + env = stringify(name, function (parentPropertyName, value) { + return renderConsoleValue( + request, + counter, + this, + parentPropertyName, + value + ); + }); + id = id.toString(16) + ":J" + env + "\n"; + request.completedRegularChunks.push(id); + } function emitTypedArrayChunk(request, id, tag, typedArray) { request.pendingChunks++; typedArray = new Uint8Array( @@ -2330,7 +2364,10 @@ counter = null; if (null != value._debugStack) for ( - counter = filterStackTrace(request, value._debugStack, 1), + counter = filterStackTrace( + request, + parseStackTrace(value._debugStack, 1) + ), doNotLimit.add(counter), request = 0; request < counter.length; @@ -2540,13 +2577,46 @@ } request.completedRegularChunks.push(":W" + json + "\n"); } - function forwardDebugInfo(request, id, debugInfo) { + function forwardDebugInfo(request$jscomp$0, id$jscomp$0, debugInfo) { for (var i = 0; i < debugInfo.length; i++) - "number" !== typeof debugInfo[i].time && - (request.pendingChunks++, - "string" === typeof debugInfo[i].name && - outlineComponentInfo(request, debugInfo[i]), - emitDebugChunk(request, id, debugInfo[i])); + if ("number" !== typeof debugInfo[i].time) + if ( + (request$jscomp$0.pendingChunks++, + "string" === typeof debugInfo[i].name) + ) + outlineComponentInfo(request$jscomp$0, debugInfo[i]), + emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); + else if (debugInfo[i].awaited) { + var ioInfo = debugInfo[i].awaited; + var request = request$jscomp$0, + ioInfo$jscomp$0 = ioInfo; + if (!request.writtenObjects.has(ioInfo$jscomp$0)) { + request.pendingChunks++; + var id = request.nextChunkId++, + owner = ioInfo$jscomp$0.owner; + null != owner && outlineComponentInfo(request, owner); + emitIOInfoChunk( + request, + id, + ioInfo$jscomp$0.name, + ioInfo$jscomp$0.start, + ioInfo$jscomp$0.end, + ioInfo$jscomp$0.env, + owner, + ioInfo$jscomp$0.stack + ); + request.writtenObjects.set( + ioInfo$jscomp$0, + serializeByValueID(id) + ); + } + emitDebugChunk(request$jscomp$0, id$jscomp$0, { + awaited: ioInfo, + env: debugInfo[i].env, + owner: debugInfo[i].owner, + stack: debugInfo[i].stack + }); + } else emitDebugChunk(request$jscomp$0, id$jscomp$0, debugInfo[i]); } function emitChunk(request, task, value) { var id = task.id; @@ -3784,11 +3854,13 @@ } } }; - var framesToSkip = 0, + var currentOwner = null, + framesToSkip = 0, collectedStackTrace = null, identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/, frameRegExp = /^ {3} at (?:(.+) \((?:(.+):(\d+):(\d+)|)\)|(?:async )?(.+):(\d+):(\d+)|)$/, + stackTraceCache = new WeakMap(), requestStorage = new async_hooks.AsyncLocalStorage(), componentStorage = new async_hooks.AsyncLocalStorage(), TEMPORARY_REFERENCE_TAG = Symbol.for("react.temporary.reference"), @@ -3899,11 +3971,11 @@ throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; return ( - "\u00ab" + + "_" + currentRequest$1.identifierPrefix + - "S" + + "S_" + id.toString(32) + - "\u00bb" + "_" ); }, useHostTransitionStatus: unsupportedHook, @@ -3919,7 +3991,6 @@ return unsupportedRefresh; } }, - currentOwner = null, DefaultAsyncDispatcher = { getCacheForType: function (resourceType) { var cache = (cache = resolveRequest()) ? cache.cache : new Map(); @@ -3989,8 +4060,7 @@ jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"), - doNotLimit = new WeakSet(), - stackTraceCache = new WeakMap(); + doNotLimit = new WeakSet(); "object" === typeof console && null !== console && (patchConsole(console, "assert"), @@ -4142,12 +4212,12 @@ "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_156 = []; + var JSCompiler_object_inline_chunks_165 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_156.push(chunk); + JSCompiler_object_inline_chunks_165.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_156, { + var blob = new Blob(JSCompiler_object_inline_chunks_165, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js index 09b366f8de0a1..19cb3c26880ca 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +++ b/packages/next/src/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js @@ -572,13 +572,7 @@ function useId() { if (null === currentRequest$1) throw Error("useId can only be used while React is rendering"); var id = currentRequest$1.identifierCount++; - return ( - "\u00ab" + - currentRequest$1.identifierPrefix + - "S" + - id.toString(32) + - "\u00bb" - ); + return "_" + currentRequest$1.identifierPrefix + "S_" + id.toString(32) + "_"; } function use(usable) { if ( @@ -860,8 +854,8 @@ function serializeReadableStream(request, task, stream) { tryStreamTask(request, streamTask), enqueueFlush(request), reader.read().then(progress, error); - } catch (x$10) { - error(x$10); + } catch (x$9) { + error(x$9); } } function error(reason) { @@ -934,8 +928,8 @@ function serializeAsyncIterable(request, task, iterable, iterator) { tryStreamTask(request, streamTask), enqueueFlush(request), iterator.next().then(progress, error); - } catch (x$11) { - error(x$11); + } catch (x$10) { + error(x$10); } } function error(reason) { @@ -1955,7 +1949,7 @@ function abort(request, reason) { } var abortListeners = request.abortListeners; if (0 < abortListeners.size) { - var error$25 = + var error$24 = void 0 === reason ? Error("The render was aborted by the server without a reason.") : "object" === typeof reason && @@ -1964,15 +1958,15 @@ function abort(request, reason) { ? Error("The render was aborted by the server with a promise.") : reason; abortListeners.forEach(function (callback) { - return callback(error$25); + return callback(error$24); }); abortListeners.clear(); callOnAllReadyIfReady(request); } null !== request.destination && flushCompletedChunks(request, request.destination); - } catch (error$26) { - logRecoverableError(request, error$26, null), fatalError(request, error$26); + } catch (error$25) { + logRecoverableError(request, error$25, null), fatalError(request, error$25); } } function resolveServerReference(bundlerConfig, id) { @@ -2387,8 +2381,8 @@ function parseReadableStream(response, reference, type) { (previousBlockedChunk = chunk)); } else { chunk = previousBlockedChunk; - var chunk$29 = createPendingChunk(response); - chunk$29.then( + var chunk$28 = createPendingChunk(response); + chunk$28.then( function (v) { return controller.enqueue(v); }, @@ -2396,10 +2390,10 @@ function parseReadableStream(response, reference, type) { return controller.error(e); } ); - previousBlockedChunk = chunk$29; + previousBlockedChunk = chunk$28; chunk.then(function () { - previousBlockedChunk === chunk$29 && (previousBlockedChunk = null); - resolveModelChunk(chunk$29, json, -1); + previousBlockedChunk === chunk$28 && (previousBlockedChunk = null); + resolveModelChunk(chunk$28, json, -1); }); } }, @@ -2772,12 +2766,12 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) { "React doesn't accept base64 encoded file uploads because we don't expect form data passed from a browser to ever encode data that way. If that's the wrong assumption, we can easily fix it." ); pendingFiles++; - var JSCompiler_object_inline_chunks_233 = []; + var JSCompiler_object_inline_chunks_244 = []; value.on("data", function (chunk) { - JSCompiler_object_inline_chunks_233.push(chunk); + JSCompiler_object_inline_chunks_244.push(chunk); }); value.on("end", function () { - var blob = new Blob(JSCompiler_object_inline_chunks_233, { + var blob = new Blob(JSCompiler_object_inline_chunks_244, { type: mimeType }); response._formData.append(name, blob, filename); diff --git a/packages/next/src/compiled/react-server-dom-webpack/package.json b/packages/next/src/compiled/react-server-dom-webpack/package.json index ff6d13b4c15b2..189bf46557b8e 100644 --- a/packages/next/src/compiled/react-server-dom-webpack/package.json +++ b/packages/next/src/compiled/react-server-dom-webpack/package.json @@ -64,8 +64,8 @@ "webpack-sources": "^3.2.0" }, "peerDependencies": { - "react": "19.2.0-canary-14094f80-20250529", - "react-dom": "19.2.0-canary-14094f80-20250529", + "react": "19.2.0-canary-37054867-20250604", + "react-dom": "19.2.0-canary-37054867-20250604", "webpack": "^5.59.0" } } \ No newline at end of file diff --git a/packages/next/src/compiled/react/cjs/react.development.js b/packages/next/src/compiled/react/cjs/react.development.js index 70a939df4949b..157e6773a6381 100644 --- a/packages/next/src/compiled/react/cjs/react.development.js +++ b/packages/next/src/compiled/react/cjs/react.development.js @@ -1241,7 +1241,7 @@ exports.useTransition = function () { return resolveDispatcher().useTransition(); }; - exports.version = "19.2.0-canary-14094f80-20250529"; + exports.version = "19.2.0-canary-37054867-20250604"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react/cjs/react.production.js b/packages/next/src/compiled/react/cjs/react.production.js index 7e5d3631336ec..c96f4988d6e8f 100644 --- a/packages/next/src/compiled/react/cjs/react.production.js +++ b/packages/next/src/compiled/react/cjs/react.production.js @@ -540,4 +540,4 @@ exports.useSyncExternalStore = function ( exports.useTransition = function () { return ReactSharedInternals.H.useTransition(); }; -exports.version = "19.2.0-canary-14094f80-20250529"; +exports.version = "19.2.0-canary-37054867-20250604"; diff --git a/packages/next/src/compiled/react/cjs/react.react-server.development.js b/packages/next/src/compiled/react/cjs/react.react-server.development.js index fafc95594b3b0..e4f14c23603aa 100644 --- a/packages/next/src/compiled/react/cjs/react.react-server.development.js +++ b/packages/next/src/compiled/react/cjs/react.react-server.development.js @@ -811,5 +811,5 @@ exports.useMemo = function (create, deps) { return resolveDispatcher().useMemo(create, deps); }; - exports.version = "19.2.0-canary-14094f80-20250529"; + exports.version = "19.2.0-canary-37054867-20250604"; })(); diff --git a/packages/next/src/compiled/react/cjs/react.react-server.production.js b/packages/next/src/compiled/react/cjs/react.react-server.production.js index 3af177d80abd6..6016a71de989c 100644 --- a/packages/next/src/compiled/react/cjs/react.react-server.production.js +++ b/packages/next/src/compiled/react/cjs/react.react-server.production.js @@ -426,4 +426,4 @@ exports.useId = function () { exports.useMemo = function (create, deps) { return ReactSharedInternals.H.useMemo(create, deps); }; -exports.version = "19.2.0-canary-14094f80-20250529"; +exports.version = "19.2.0-canary-37054867-20250604"; diff --git a/packages/next/src/compiled/unistore/unistore.js b/packages/next/src/compiled/unistore/unistore.js index 63fc659cbe638..57aa8969547dc 100644 --- a/packages/next/src/compiled/unistore/unistore.js +++ b/packages/next/src/compiled/unistore/unistore.js @@ -1 +1 @@ -(()=>{var t={618:t=>{function n(t,i){for(var _ in i)t[_]=i[_];return t}t.exports=function(t){var i=[];function u(t){for(var _=[],a=0;a{var t={854:t=>{function n(t,i){for(var _ in i)t[_]=i[_];return t}t.exports=function(t){var i=[];function u(t){for(var _=[],a=0;a=14.0.0'} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 '@storybook/instrumenter@8.6.0': resolution: {integrity: sha512-eEY/Hfa3Vj5Nv4vHRHlSqjoyW6oAKNK3rKIXfL/eawQwb7rKhzijDLG5YBH44Hh7dEPIqUp0LEdgpyIY7GXezg==} @@ -5080,8 +5080,8 @@ packages: resolution: {integrity: sha512-04T86VG0UJtiozgZkTR5sY1qM3E0Rgwqwllvyy7kFFdkV+Sv/VsPjW9sC38s9C8FtCYRL8pJZz81ey3oylpIMA==} engines: {node: '>=18.0.0'} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 storybook: ^8.6.0 typescript: '*' peerDependenciesMeta: @@ -5102,16 +5102,16 @@ packages: '@storybook/react-dom-shim@8.6.0': resolution: {integrity: sha512-5Y+vMHhcx0xnaNsLQMbkmjc3zkDn/fGBNsiLH2e4POvW3ZQvOxjoyxAsEQaKwLtFgsdCFSd2tR89F6ItYrA2JQ==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 storybook: ^8.6.0 '@storybook/react-webpack5@8.6.0': resolution: {integrity: sha512-2L9CYDPn1OL0B8K5EU/Wpo9Slg8f0vkYPaPioQnmcK3Q4SJR4JAuDVWHUtNdxhaPOkHIy887Tfrf6BEC/blMaQ==} engines: {node: '>=18.0.0'} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 storybook: ^8.6.0 typescript: '>= 4.2.x' peerDependenciesMeta: @@ -5123,8 +5123,8 @@ packages: engines: {node: '>=18.0.0'} peerDependencies: '@storybook/test': 8.6.0 - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 storybook: ^8.6.0 typescript: '>= 4.2.x' peerDependenciesMeta: @@ -5304,8 +5304,8 @@ packages: engines: {node: '>=18'} peerDependencies: '@types/react': ^19.1.1 - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 peerDependenciesMeta: '@types/react': optional: true @@ -11423,7 +11423,7 @@ packages: lucide-react@0.383.0: resolution: {integrity: sha512-13xlG0CQCJtzjSQYwwJ3WRqMHtRj3EXmLlorrARt7y+IHnxUCp3XyFNL1DfaGySWxHObDvnu1u1dV+0VMKHUSg==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} @@ -13938,23 +13938,23 @@ packages: resolution: {integrity: sha512-APPU8HB2uZnpl6Vt/+0AFoVYgSRtfiP6FLrZgPPTDmqSb2R4qZRbgd0A3VzIFxDt5e+Fozjx79WjLWnF69DK8g==} engines: {node: '>=16.14.0'} - react-dom@0.0.0-experimental-14094f80-20250529: - resolution: {integrity: sha512-bo0IYbGD0P9WsUCvPsTzsmDtvuCO3ogKDs0a4S/hv1THMeug7HTeQMnbAp4UBEU5386UEXk/J+BnaGwFRYRKsg==} + react-dom@0.0.0-experimental-37054867-20250604: + resolution: {integrity: sha512-+2d6dWzynOd0ZbdZFWY0gqAEIXkVhuJMqlxQ40+nQEnG+vZQHBDrbh1I+YJxbW5p3uIQ5nwDIFq60SBGgOz8Ug==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 - react-dom@19.2.0-canary-14094f80-20250529: - resolution: {integrity: sha512-2RIj935vNyJSVqp1O13vou6X4jWwbXU2OWmnp924tbNlG1QifdlyjuXj+RnWwQSSksST5BwItrFGyGzvz6A80A==} + react-dom@19.2.0-canary-37054867-20250604: + resolution: {integrity: sha512-CSxyLM5ULTsWTRn60XfGKO5S5KGKHF81bymvD298CgVxUJlGqtpcDH3u0DkM52C9pdtYkProatWT81u35CE1mw==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 react-dom@19.2.0-canary-c44e4a25-20250409: resolution: {integrity: sha512-H3k6JpW39XBogZz6ptprQ4MRwG83bRONkb+6DzHQChVLY+TWiGNBKJxnJN6VzRoqsBNZFwSu8WdhK5vLtj4h3A==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 - react-is@19.2.0-canary-14094f80-20250529: - resolution: {integrity: sha512-M3SERqUp9iOoxA41nnHJWZIo0kKD8Y7EKCgV237aBEr0UbBhMaFPzVcYywXpZ3RxoyNW7V56PWIGqeeH4LU9NQ==} + react-is@19.2.0-canary-37054867-20250604: + resolution: {integrity: sha512-cJ41ihneb73n5z/OEOuOb342u85kMUuQvMnBsyIIxMfHsRHfZMIKtiGdaPIU8+HtjZSZfCeD6KfMDKFlcw6j/g==} react-is@19.2.0-canary-c44e4a25-20250409: resolution: {integrity: sha512-vF0L6mbn4Gx4TU7srrazt/6aBhLIRWttvNlh6GGI9nsqgvl1RrPKfDuybxjDP/8IZfuMj7/D5CkwwyZUa3i1AQ==} @@ -13965,8 +13965,8 @@ packages: react-number-format@5.4.0: resolution: {integrity: sha512-NWdICrqLhI7rAS8yUeLVd6Wr4cN7UjJ9IBTS0f/a9i7UB4x4Ti70kGnksBtZ7o4Z7YRbvCMMR/jQmkoOBa/4fg==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 react-refresh@0.12.0: resolution: {integrity: sha512-suLIhrU2IHKL5JEKR/fAwJv7bbeq4kJ+pJopf77jHwuR+HmJS/HbrPIGsTBUVfw7tXPOmYv7UJ7PCaN49e8x4A==} @@ -13977,7 +13977,7 @@ packages: engines: {node: '>=10'} peerDependencies: '@types/react': ^19.1.1 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 peerDependenciesMeta: '@types/react': optional: true @@ -13987,58 +13987,58 @@ packages: engines: {node: '>=10'} peerDependencies: '@types/react': ^19.1.1 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 peerDependenciesMeta: '@types/react': optional: true - react-server-dom-turbopack@0.0.0-experimental-14094f80-20250529: - resolution: {integrity: sha512-uyxOTQFoCh6LJvNoopDX9gIzTZKSxj1/xOWfILt94QJKZnuq2ahwmbwYioaQPc2gnUC+tVX0wupqNpVjEaLGKw==} + react-server-dom-turbopack@0.0.0-experimental-37054867-20250604: + resolution: {integrity: sha512-tIwDq0ym8gtGHJZy/PRFm0tg1ecnS9N/x5p7J6QIwWmQPXfuGwV4ezfMg0l4prsb7/tMoaXvo+P3FtF0u6yrQw==} engines: {node: '>=0.10.0'} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 - react-server-dom-turbopack@19.2.0-canary-14094f80-20250529: - resolution: {integrity: sha512-mxl2B94q+Ahs2YYXB8RAyFyk8EEnZD9KfZ7FjYbY5wkApDxXIBvXyUzaenLFms7bxu8tWcDg8YNjOsP2sXzK1A==} + react-server-dom-turbopack@19.2.0-canary-37054867-20250604: + resolution: {integrity: sha512-B8FGIE+bag9AOVCFexhRlMI/9xk12+4+02fljT5T5UC+K0W+7IANqxNd6HA6MFomit9iXepSE5B4eb9ywRZFTQ==} engines: {node: '>=0.10.0'} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 - react-server-dom-webpack@0.0.0-experimental-14094f80-20250529: - resolution: {integrity: sha512-L5gi7Try7EZL3clDQ2JM8tVXgdAv1b/bm3fcDlwpJMDATQvpj0oZFKOWw/9EBVXv/dfMVKSvanL4oFaUIs3vQQ==} + react-server-dom-webpack@0.0.0-experimental-37054867-20250604: + resolution: {integrity: sha512-6K9jQVbfEhFW3dztYcu0jlTXNMtMlD1MAqbFDTpysb5MwSu0B+CPcZWHQKDwM+jb/pVuuH6emFfaEmVs+87wvQ==} engines: {node: '>=0.10.0'} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 webpack: 5.98.0 - react-server-dom-webpack@19.2.0-canary-14094f80-20250529: - resolution: {integrity: sha512-n798Y/Jty7hRgIRwA4KnLNRt5gJUUucumHgP9xFuH37kdCbz5Q/g4vBmdtRTr/3MWnleAFLO9R+r1xL3MxT4Mw==} + react-server-dom-webpack@19.2.0-canary-37054867-20250604: + resolution: {integrity: sha512-r8LpebmNRmZG2Y6vWVCq1XVYqyM2+5IEP/sTWkV/gN3z99KqgprXIWfetQk2htTUHn7ice/2BCs6O7OOaDCxyg==} engines: {node: '>=0.10.0'} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 webpack: 5.98.0 react-shallow-renderer@16.15.0: resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 react-ssr-prepass@1.0.8: resolution: {integrity: sha512-O0gfRA1SaK+9ITKxqfnXsej2jF+OHGP/+GxD4unROQaM/0/UczGF9fuF+wTboxaQoKdIf4FvS3h/OigWh704VA==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-is: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-is: 19.2.0-canary-37054867-20250604 react-style-singleton@2.2.1: resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: '@types/react': ^19.1.1 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 peerDependenciesMeta: '@types/react': optional: true @@ -14046,26 +14046,26 @@ packages: react-test-renderer@18.2.0: resolution: {integrity: sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 react-textarea-autosize@8.5.3: resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} engines: {node: '>=10'} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 react-virtualized@9.22.3: resolution: {integrity: sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604 - react@0.0.0-experimental-14094f80-20250529: - resolution: {integrity: sha512-t/t0GIOMEBFpWXjHW0OrBBQZG3EmV43tj0aSfcw2z4QLrgn7bemRERIEI2+R243ZLXBo6DCPfQjpjsV3Xee1mw==} + react@0.0.0-experimental-37054867-20250604: + resolution: {integrity: sha512-aLlHcTVbeltgTnyauLhreK9Ct6VE4abpqYVgoeEAFJL4oHBwuc6Zfh1UCjLCCuieU/MmnZlzDDdJfL/a31qs3A==} engines: {node: '>=0.10.0'} - react@19.2.0-canary-14094f80-20250529: - resolution: {integrity: sha512-POAgv2nLSyWEmODi9//jnkCI44HHV7wMspfl3M/WjB9eDRiR/DGUI94zULSdHRHqF3zyIBJltpwouxEj0/Wvyg==} + react@19.2.0-canary-37054867-20250604: + resolution: {integrity: sha512-h+TrGkPh41TnOa5sqqvmsxrLa1tqXei/F+y4L2fKBMWn2HyRtmgZD5x4ku1CMyPAdLdbFHfVnTHRToIqLmDsmg==} engines: {node: '>=0.10.0'} react@19.2.0-canary-c44e4a25-20250409: @@ -14615,11 +14615,11 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.0.0-experimental-14094f80-20250529: - resolution: {integrity: sha512-j+NANlq/f2Z2CRoWui9FVXnAzppghDQapHAj256Nuqc7Sx97Clq3fdMKelx0+ahxwlMgcK+lEncSxvu1DQDMYA==} + scheduler@0.0.0-experimental-37054867-20250604: + resolution: {integrity: sha512-vkjfDNr9erv3CRbJHmRr6V+8IJ4p3LbIBq7csveisgvlO4x4BdEV0pivc6RlKKLqwm8jHBFOjZw4KKIjAEVmtw==} - scheduler@0.27.0-canary-14094f80-20250529: - resolution: {integrity: sha512-Zz9JtPiqhNGgooSXcgTZeI11iS03DV1Voz57oe6YvILcrqQTS2U1NG+17Hb3Qw/JVPZBIgjLNeWoGbTpnhdfyg==} + scheduler@0.27.0-canary-37054867-20250604: + resolution: {integrity: sha512-+8oZ08Wod7IzwumD9FL2MbbzUsiH932pbdOXIJJ7RB8UGA38J7sQbphsZIRN9dfoOPkBstCs65CjIacapH/JdQ==} schema-utils@2.7.1: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} @@ -15269,7 +15269,7 @@ packages: peerDependencies: '@babel/core': '*' babel-plugin-macros: '*' - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 peerDependenciesMeta: '@babel/core': optional: true @@ -15350,7 +15350,7 @@ packages: swr@2.2.4: resolution: {integrity: sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 symbol-observable@1.0.1: resolution: {integrity: sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==} @@ -16142,7 +16142,7 @@ packages: engines: {node: '>=10'} peerDependencies: '@types/react': ^19.1.1 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 peerDependenciesMeta: '@types/react': optional: true @@ -16150,13 +16150,13 @@ packages: use-composed-ref@1.3.0: resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 use-isomorphic-layout-effect@1.1.2: resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 peerDependenciesMeta: '@types/react': optional: true @@ -16165,7 +16165,7 @@ packages: resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 peerDependenciesMeta: '@types/react': optional: true @@ -16175,7 +16175,7 @@ packages: engines: {node: '>=10'} peerDependencies: '@types/react': ^19.1.1 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 peerDependenciesMeta: '@types/react': optional: true @@ -16183,7 +16183,7 @@ packages: use-sync-external-store@1.2.0: resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -18184,17 +18184,17 @@ snapshots: '@emotion/memoize@0.8.1': {} - '@emotion/react@11.11.1(@types/react@19.1.1)(react@19.2.0-canary-14094f80-20250529)': + '@emotion/react@11.11.1(@types/react@19.1.1)(react@19.2.0-canary-37054867-20250604)': dependencies: '@babel/runtime': 7.27.0 '@emotion/babel-plugin': 11.11.0 '@emotion/cache': 11.11.0 '@emotion/serialize': 1.1.2 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@19.2.0-canary-14094f80-20250529) + '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@19.2.0-canary-37054867-20250604) '@emotion/utils': 1.2.1 '@emotion/weak-memoize': 0.3.1 hoist-non-react-statics: 3.3.2 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 optionalDependencies: '@types/react': 19.1.1 transitivePeerDependencies: @@ -18212,9 +18212,9 @@ snapshots: '@emotion/unitless@0.8.1': {} - '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@19.2.0-canary-14094f80-20250529)': + '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@19.2.0-canary-37054867-20250604)': dependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 '@emotion/utils@1.2.1': {} @@ -19866,11 +19866,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@mdx-js/react@2.2.1(react@19.2.0-canary-14094f80-20250529)': + '@mdx-js/react@2.2.1(react@19.2.0-canary-37054867-20250604)': dependencies: '@types/mdx': 2.0.3 '@types/react': 19.1.1 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 '@mdx-js/react@2.2.1(react@19.2.0-canary-c44e4a25-20250409)': dependencies: @@ -19878,11 +19878,11 @@ snapshots: '@types/react': 19.1.1 react: 19.2.0-canary-c44e4a25-20250409 - '@mdx-js/react@3.1.0(@types/react@19.1.1)(react@19.2.0-canary-14094f80-20250529)': + '@mdx-js/react@3.1.0(@types/react@19.1.1)(react@19.2.0-canary-37054867-20250604)': dependencies: '@types/mdx': 2.0.3 '@types/react': 19.1.1 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 '@module-federation/error-codes@0.14.0': {} @@ -20630,12 +20630,12 @@ snapshots: '@storybook/addon-docs@8.6.0(@types/react@19.1.1)(storybook@8.6.0(prettier@3.3.3))': dependencies: - '@mdx-js/react': 3.1.0(@types/react@19.1.1)(react@19.2.0-canary-14094f80-20250529) - '@storybook/blocks': 8.6.0(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3)) + '@mdx-js/react': 3.1.0(@types/react@19.1.1)(react@19.2.0-canary-37054867-20250604) + '@storybook/blocks': 8.6.0(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3)) '@storybook/csf-plugin': 8.6.0(storybook@8.6.0(prettier@3.3.3)) - '@storybook/react-dom-shim': 8.6.0(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3)) - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + '@storybook/react-dom-shim': 8.6.0(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3)) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) storybook: 8.6.0(prettier@3.3.3) ts-dedent: 2.2.0 transitivePeerDependencies: @@ -20700,14 +20700,14 @@ snapshots: - '@swc/helpers' - webpack - '@storybook/blocks@8.6.0(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3))': + '@storybook/blocks@8.6.0(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3))': dependencies: - '@storybook/icons': 1.3.0(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529) + '@storybook/icons': 1.3.0(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604) storybook: 8.6.0(prettier@3.3.3) ts-dedent: 2.2.0 optionalDependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) '@storybook/builder-webpack5@8.6.0(@rspack/core@1.3.12(@swc/helpers@0.5.15))(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2)': dependencies: @@ -20786,10 +20786,10 @@ snapshots: '@storybook/global@5.0.0': {} - '@storybook/icons@1.3.0(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)': + '@storybook/icons@1.3.0(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)': dependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) '@storybook/instrumenter@8.6.0(storybook@8.6.0(prettier@3.3.3))': dependencies: @@ -20801,17 +20801,17 @@ snapshots: dependencies: storybook: 8.6.0(prettier@3.3.3) - '@storybook/preset-react-webpack@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2)(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2)': + '@storybook/preset-react-webpack@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2)(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2)': dependencies: '@storybook/core-webpack': 8.6.0(storybook@8.6.0(prettier@3.3.3)) - '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2) + '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.2)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2)) '@types/semver': 7.5.6 find-up: 5.0.0 magic-string: 0.30.17 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 react-docgen: 7.1.0 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) resolve: 1.22.8 semver: 7.6.3 storybook: 8.6.0(prettier@3.3.3) @@ -20845,19 +20845,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/react-dom-shim@8.6.0(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3))': + '@storybook/react-dom-shim@8.6.0(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3))': dependencies: - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) storybook: 8.6.0(prettier@3.3.3) - '@storybook/react-webpack5@8.6.0(@rspack/core@1.3.12(@swc/helpers@0.5.15))(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2)(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2)': + '@storybook/react-webpack5@8.6.0(@rspack/core@1.3.12(@swc/helpers@0.5.15))(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2)(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2)': dependencies: '@storybook/builder-webpack5': 8.6.0(@rspack/core@1.3.12(@swc/helpers@0.5.15))(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2) - '@storybook/preset-react-webpack': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2)(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2) - '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2) - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + '@storybook/preset-react-webpack': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2)(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2) + '@storybook/react': 8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) storybook: 8.6.0(prettier@3.3.3) optionalDependencies: typescript: 5.8.2 @@ -20870,16 +20870,16 @@ snapshots: - uglify-js - webpack-cli - '@storybook/react@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2)': + '@storybook/react@8.6.0(@storybook/test@8.6.0(storybook@8.6.0(prettier@3.3.3)))(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3))(typescript@5.8.2)': dependencies: '@storybook/components': 8.6.0(storybook@8.6.0(prettier@3.3.3)) '@storybook/global': 5.0.0 '@storybook/manager-api': 8.6.0(storybook@8.6.0(prettier@3.3.3)) '@storybook/preview-api': 8.6.0(storybook@8.6.0(prettier@3.3.3)) - '@storybook/react-dom-shim': 8.6.0(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(storybook@8.6.0(prettier@3.3.3)) + '@storybook/react-dom-shim': 8.6.0(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(storybook@8.6.0(prettier@3.3.3)) '@storybook/theming': 8.6.0(storybook@8.6.0(prettier@3.3.3)) - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) storybook: 8.6.0(prettier@3.3.3) optionalDependencies: '@storybook/test': 8.6.0(storybook@8.6.0(prettier@3.3.3)) @@ -21086,13 +21086,13 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@15.0.7(@types/react@19.1.1)(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)': + '@testing-library/react@15.0.7(@types/react@19.1.1)(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)': dependencies: '@babel/runtime': 7.27.0 '@testing-library/dom': 10.1.0 '@types/react-dom': 19.1.2(@types/react@19.1.1) - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) optionalDependencies: '@types/react': 19.1.1 @@ -26822,7 +26822,7 @@ snapshots: hoist-non-react-statics@3.3.2: dependencies: - react-is: 19.2.0-canary-14094f80-20250529 + react-is: 19.2.0-canary-37054867-20250604 homedir-polyfill@1.0.3: dependencies: @@ -31748,25 +31748,25 @@ snapshots: dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 - react-is: 19.2.0-canary-14094f80-20250529 + react-is: 19.2.0-canary-37054867-20250604 pretty-format@29.5.0: dependencies: '@jest/schemas': 29.4.3 ansi-styles: 5.2.0 - react-is: 19.2.0-canary-14094f80-20250529 + react-is: 19.2.0-canary-37054867-20250604 pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 19.2.0-canary-14094f80-20250529 + react-is: 19.2.0-canary-37054867-20250604 pretty-format@30.0.0-alpha.6: dependencies: '@jest/schemas': 30.0.0-alpha.6 ansi-styles: 5.2.0 - react-is: 19.2.0-canary-14094f80-20250529 + react-is: 19.2.0-canary-37054867-20250604 pretty-ms@7.0.0: dependencies: @@ -31829,7 +31829,7 @@ snapshots: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 - react-is: 19.2.0-canary-14094f80-20250529 + react-is: 19.2.0-canary-37054867-20250604 property-information@5.6.0: dependencies: @@ -32038,22 +32038,22 @@ snapshots: transitivePeerDependencies: - supports-color - react-dom@0.0.0-experimental-14094f80-20250529(react@19.2.0-canary-14094f80-20250529): + react-dom@0.0.0-experimental-37054867-20250604(react@19.2.0-canary-37054867-20250604): dependencies: - react: 19.2.0-canary-14094f80-20250529 - scheduler: 0.27.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + scheduler: 0.27.0-canary-37054867-20250604 - react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529): + react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604): dependencies: - react: 19.2.0-canary-14094f80-20250529 - scheduler: 0.27.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + scheduler: 0.27.0-canary-37054867-20250604 react-dom@19.2.0-canary-c44e4a25-20250409(react@19.2.0-canary-c44e4a25-20250409): dependencies: react: 19.2.0-canary-c44e4a25-20250409 - scheduler: 0.27.0-canary-14094f80-20250529 + scheduler: 0.27.0-canary-37054867-20250604 - react-is@19.2.0-canary-14094f80-20250529: {} + react-is@19.2.0-canary-37054867-20250604: {} react-is@19.2.0-canary-c44e4a25-20250409: {} @@ -32086,48 +32086,48 @@ snapshots: optionalDependencies: '@types/react': 19.1.1 - react-server-dom-turbopack@0.0.0-experimental-14094f80-20250529(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529): + react-server-dom-turbopack@0.0.0-experimental-37054867-20250604(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604): dependencies: acorn-loose: 8.3.0 neo-async: 2.6.1 - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) - react-server-dom-turbopack@19.2.0-canary-14094f80-20250529(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529): + react-server-dom-turbopack@19.2.0-canary-37054867-20250604(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604): dependencies: acorn-loose: 8.3.0 neo-async: 2.6.1 - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) - react-server-dom-webpack@0.0.0-experimental-14094f80-20250529(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.15))): + react-server-dom-webpack@0.0.0-experimental-37054867-20250604(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.15))): dependencies: acorn-loose: 8.3.0 neo-async: 2.6.1 - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.15)) webpack-sources: 3.2.3(patch_hash=jbynf5dc46ambamq3wuyho6hkq) - react-server-dom-webpack@19.2.0-canary-14094f80-20250529(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.15))): + react-server-dom-webpack@19.2.0-canary-37054867-20250604(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604)(webpack@5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.15))): dependencies: acorn-loose: 8.3.0 neo-async: 2.6.1 - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.15)) webpack-sources: 3.2.3(patch_hash=jbynf5dc46ambamq3wuyho6hkq) - react-shallow-renderer@16.15.0(react@19.2.0-canary-14094f80-20250529): + react-shallow-renderer@16.15.0(react@19.2.0-canary-37054867-20250604): dependencies: object-assign: 4.1.1 - react: 19.2.0-canary-14094f80-20250529 - react-is: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-is: 19.2.0-canary-37054867-20250604 - react-ssr-prepass@1.0.8(react-is@19.2.0-canary-c44e4a25-20250409)(react@19.2.0-canary-14094f80-20250529): + react-ssr-prepass@1.0.8(react-is@19.2.0-canary-c44e4a25-20250409)(react@19.2.0-canary-37054867-20250604): dependencies: object-is: 1.0.2 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 react-is: 19.2.0-canary-c44e4a25-20250409 react-style-singleton@2.2.1(@types/react@19.1.1)(react@19.2.0-canary-c44e4a25-20250409): @@ -32139,12 +32139,12 @@ snapshots: optionalDependencies: '@types/react': 19.1.1 - react-test-renderer@18.2.0(react@19.2.0-canary-14094f80-20250529): + react-test-renderer@18.2.0(react@19.2.0-canary-37054867-20250604): dependencies: - react: 19.2.0-canary-14094f80-20250529 - react-is: 19.2.0-canary-14094f80-20250529 - react-shallow-renderer: 16.15.0(react@19.2.0-canary-14094f80-20250529) - scheduler: 0.27.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 + react-is: 19.2.0-canary-37054867-20250604 + react-shallow-renderer: 16.15.0(react@19.2.0-canary-37054867-20250604) + scheduler: 0.27.0-canary-37054867-20250604 react-textarea-autosize@8.5.3(@types/react@19.1.1)(react@19.2.0-canary-c44e4a25-20250409): dependencies: @@ -32155,20 +32155,20 @@ snapshots: transitivePeerDependencies: - '@types/react' - react-virtualized@9.22.3(react-dom@19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529))(react@19.2.0-canary-14094f80-20250529): + react-virtualized@9.22.3(react-dom@19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604))(react@19.2.0-canary-37054867-20250604): dependencies: '@babel/runtime': 7.27.0 clsx: 1.1.1 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 19.2.0-canary-14094f80-20250529 - react-dom: 19.2.0-canary-14094f80-20250529(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + react-dom: 19.2.0-canary-37054867-20250604(react@19.2.0-canary-37054867-20250604) react-lifecycles-compat: 3.0.4 - react@0.0.0-experimental-14094f80-20250529: {} + react@0.0.0-experimental-37054867-20250604: {} - react@19.2.0-canary-14094f80-20250529: {} + react@19.2.0-canary-37054867-20250604: {} react@19.2.0-canary-c44e4a25-20250409: {} @@ -32929,9 +32929,9 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.0.0-experimental-14094f80-20250529: {} + scheduler@0.0.0-experimental-37054867-20250604: {} - scheduler@0.27.0-canary-14094f80-20250529: {} + scheduler@0.27.0-canary-37054867-20250604: {} schema-utils@2.7.1: dependencies: @@ -33716,10 +33716,10 @@ snapshots: postcss: 7.0.32 postcss-load-plugins: 2.3.0 - styled-jsx@5.1.6(@babel/core@7.26.10)(babel-plugin-macros@3.1.0)(react@19.2.0-canary-14094f80-20250529): + styled-jsx@5.1.6(@babel/core@7.26.10)(babel-plugin-macros@3.1.0)(react@19.2.0-canary-37054867-20250604): dependencies: client-only: 0.0.1 - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 optionalDependencies: '@babel/core': 7.26.10 babel-plugin-macros: 3.1.0 @@ -33813,11 +33813,11 @@ snapshots: '@swc/counter': 0.1.3 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.15))(esbuild@0.24.2) - swr@2.2.4(react@19.2.0-canary-14094f80-20250529): + swr@2.2.4(react@19.2.0-canary-37054867-20250604): dependencies: client-only: 0.0.1 - react: 19.2.0-canary-14094f80-20250529 - use-sync-external-store: 1.2.0(react@19.2.0-canary-14094f80-20250529) + react: 19.2.0-canary-37054867-20250604 + use-sync-external-store: 1.2.0(react@19.2.0-canary-37054867-20250604) symbol-observable@1.0.1: {} @@ -34614,9 +34614,9 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - unistore@3.4.1(react@19.2.0-canary-14094f80-20250529): + unistore@3.4.1(react@19.2.0-canary-37054867-20250604): optionalDependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 universal-github-app-jwt@1.1.1: dependencies: @@ -34742,9 +34742,9 @@ snapshots: optionalDependencies: '@types/react': 19.1.1 - use-sync-external-store@1.2.0(react@19.2.0-canary-14094f80-20250529): + use-sync-external-store@1.2.0(react@19.2.0-canary-37054867-20250604): dependencies: - react: 19.2.0-canary-14094f80-20250529 + react: 19.2.0-canary-37054867-20250604 util-deprecate@1.0.2: {}