From f4be4a83a54daf172bc224f40ea347c60479f144 Mon Sep 17 00:00:00 2001 From: Daniel Karuna Date: Tue, 1 Apr 2025 16:07:08 +0100 Subject: [PATCH 1/2] Pass only required props to NoIndex --- .../next/src/server/app-render/app-render.tsx | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/packages/next/src/server/app-render/app-render.tsx b/packages/next/src/server/app-render/app-render.tsx index 892f47dce2145..927f40266c598 100644 --- a/packages/next/src/server/app-render/app-render.tsx +++ b/packages/next/src/server/app-render/app-render.tsx @@ -433,13 +433,20 @@ function makeGetDynamicParamFromSegment( } } -function NonIndex({ ctx }: { ctx: AppRenderContext }) { - const is404Page = ctx.pagePath === '/404' - const isInvalidStatusCode = - typeof ctx.res.statusCode === 'number' && ctx.res.statusCode > 400 +function NonIndex({ + pagePath, + statusCode, + isAction, +}: { + pagePath: string + statusCode: number | undefined + isAction: boolean +}) { + const is404Page = pagePath === '/404' + const isInvalidStatusCode = typeof statusCode === 'number' && statusCode > 400 // Only render noindex for page request, skip for server actions - if (!ctx.isAction && (is404Page || isInvalidStatusCode)) { + if (!isAction && (is404Page || isInvalidStatusCode)) { return } return null @@ -527,7 +534,11 @@ async function generateDynamicRSCPayload( rscHead: ( {/* noindex needs to be blocking */} - + {/* Adding requestId as react key to make metadata remount for each render */} {StreamingMetadata ? : null} @@ -859,7 +870,11 @@ async function getRSCPayload( const initialHead = ( - + @@ -961,7 +976,11 @@ async function getErrorRSCPayload( const initialHead = ( - + {/* Adding requestId as react key to make metadata remount for each render */} {process.env.NODE_ENV === 'development' && ( From 936b64c756cdf7a7d15edc629657a4af3bf2ab72 Mon Sep 17 00:00:00 2001 From: Daniel Karuna Date: Tue, 1 Apr 2025 20:43:52 +0100 Subject: [PATCH 2/2] fix tests --- .../opentelemetry/instrumentation/opentelemetry.test.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/e2e/opentelemetry/instrumentation/opentelemetry.test.ts b/test/e2e/opentelemetry/instrumentation/opentelemetry.test.ts index 815a5ce7ddf80..936ea27239abe 100644 --- a/test/e2e/opentelemetry/instrumentation/opentelemetry.test.ts +++ b/test/e2e/opentelemetry/instrumentation/opentelemetry.test.ts @@ -12,7 +12,7 @@ const EXTERNAL = { const COLLECTOR_PORT = 9001 describe('opentelemetry', () => { - const { next, skipped, isNextDev } = nextTestSetup({ + const { next, skipped } = nextTestSetup({ files: __dirname, skipDeployment: true, dependencies: require('./package.json').dependencies, @@ -169,11 +169,7 @@ describe('opentelemetry', () => { }, { attributes: { - 'next.clientComponentLoadCount': isNextDev - ? // In dev, additional client components are being loaded - // due to RSC props being deserialized. - 11 - : 8, + 'next.clientComponentLoadCount': 8, 'next.span_type': 'NextNodeServer.clientComponentLoading', },