diff --git a/packages/next/src/client/components/errors/stitched-error.ts b/packages/next/src/client/components/errors/stitched-error.ts index e4da4fe4869e2..45cfe96096a83 100644 --- a/packages/next/src/client/components/errors/stitched-error.ts +++ b/packages/next/src/client/components/errors/stitched-error.ts @@ -34,6 +34,9 @@ export function getReactStitchedError(err: T): Error | T { } function appendOwnerStack(error: Error) { + if (!React.captureOwnerStack) { + return + } let stack = error.stack || '' // This module is only bundled in development mode so this is safe. const ownerStack = React.captureOwnerStack() diff --git a/packages/next/src/client/components/errors/use-error-handler.ts b/packages/next/src/client/components/errors/use-error-handler.ts index 4b681fb347551..6a40f1b7135c4 100644 --- a/packages/next/src/client/components/errors/use-error-handler.ts +++ b/packages/next/src/client/components/errors/use-error-handler.ts @@ -70,8 +70,8 @@ export function useErrorHandler( ) // Reset error queues. - errorQueue.splice(0, 0) - rejectionQueue.splice(0, 0) + errorQueue.splice(0, errorQueue.length) + rejectionQueue.splice(0, rejectionQueue.length) } }, [handleOnUnhandledError, handleOnUnhandledRejection]) } diff --git a/packages/next/src/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/use-error-hook.ts b/packages/next/src/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/use-error-hook.ts index 3b0fb084bfb18..7b05b69064a50 100644 --- a/packages/next/src/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/use-error-hook.ts +++ b/packages/next/src/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/use-error-hook.ts @@ -26,12 +26,12 @@ function getErrorSignature(ev: SupportedErrorEvent): string { case ACTION_UNHANDLED_REJECTION: { return `${event.reason.name}::${event.reason.message}::${event.reason.stack}` } - default: { - } + default: + break } // eslint-disable-next-line @typescript-eslint/no-unused-vars - const _: never = event as never + const _ = event satisfies never return '' } diff --git a/packages/next/src/client/components/react-dev-overlay/internal/container/Errors.tsx b/packages/next/src/client/components/react-dev-overlay/internal/container/Errors.tsx index c46ac62bc2198..c62dacdd91406 100644 --- a/packages/next/src/client/components/react-dev-overlay/internal/container/Errors.tsx +++ b/packages/next/src/client/components/react-dev-overlay/internal/container/Errors.tsx @@ -236,6 +236,7 @@ export function Errors({ return ( @@ -256,7 +257,8 @@ export function Errors({ - {readyErrors.length} issue{readyErrors.length > 1 ? 's' : ''} + {readyErrors.length} issue + {readyErrors.length > 1 ? 's' : ''}