From 46441387be1e08ef264a6bf35767ad6bf14027cb Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Thu, 13 Jun 2024 21:58:01 +0200 Subject: [PATCH] Fix: only inject clientTraceMetadata into html page once (#66763) --- .../make-get-server-inserted-html.tsx | 35 +++++++++---------- .../app/suspense/client.tsx | 12 +++++++ .../app/suspense/page.tsx | 26 ++++++++++++++ .../client-trace-metadata.test.ts | 6 ++++ 4 files changed, 61 insertions(+), 18 deletions(-) create mode 100644 test/e2e/opentelemetry/client-trace-metadata/app/suspense/client.tsx create mode 100644 test/e2e/opentelemetry/client-trace-metadata/app/suspense/page.tsx diff --git a/packages/next/src/server/app-render/make-get-server-inserted-html.tsx b/packages/next/src/server/app-render/make-get-server-inserted-html.tsx index 566db4b517..fa6e1b8b2d 100644 --- a/packages/next/src/server/app-render/make-get-server-inserted-html.tsx +++ b/packages/next/src/server/app-render/make-get-server-inserted-html.tsx @@ -33,7 +33,12 @@ export function makeGetServerInsertedHTML({ basePath: string }) { let flushedErrorMetaTagsUntilIndex = 0 - let hasUnflushedPolyfills = polyfills.length !== 0 + // flag for static content that only needs to be flushed once + let hasFlushedInitially = false + + const polyfillTags = polyfills.map((polyfill) => { + return