diff --git a/packages/next/src/server/dev/next-dev-server.ts b/packages/next/src/server/dev/next-dev-server.ts index 458da716e087a..1ef2effca2887 100644 --- a/packages/next/src/server/dev/next-dev-server.ts +++ b/packages/next/src/server/dev/next-dev-server.ts @@ -99,6 +99,7 @@ import { logAppDirError } from './log-app-dir-error' import { createClientRouterFilter } from '../../lib/create-client-router-filter' import { IncrementalCache } from '../lib/incremental-cache' import LRUCache from 'next/dist/compiled/lru-cache' +import { NextUrlWithParsedQuery } from '../request-meta' // Load ReactDevOverlay only when needed let ReactDevOverlayImpl: FunctionComponent @@ -1156,6 +1157,15 @@ export default class DevServer extends Server { } } + public async handleRequest( + req: BaseNextRequest, + res: BaseNextResponse, + parsedUrl?: NextUrlWithParsedQuery + ): Promise { + await this.devReady + return await super.handleRequest(req, res, parsedUrl) + } + async run( req: NodeNextRequest, res: NodeNextResponse, diff --git a/test/e2e/opentelemetry/app/app/[param]/layout.tsx b/test/e2e/opentelemetry/app/app/[param]/layout.tsx index 09e4a22dda7a0..fe77289813127 100644 --- a/test/e2e/opentelemetry/app/app/[param]/layout.tsx +++ b/test/e2e/opentelemetry/app/app/[param]/layout.tsx @@ -3,7 +3,6 @@ export default async function Layout({ }: { children: React.ReactNode }) { - await new Promise((resolve) => setTimeout(resolve, 5000)) return ( {children} diff --git a/test/e2e/opentelemetry/opentelemetry.test.ts b/test/e2e/opentelemetry/opentelemetry.test.ts index a785322bc6e55..be1fb9aadeddd 100644 --- a/test/e2e/opentelemetry/opentelemetry.test.ts +++ b/test/e2e/opentelemetry/opentelemetry.test.ts @@ -19,20 +19,6 @@ createNextDescribe( .map((line) => JSON.parse(line)) } - /** There were issues where OTEL might not be initialized for first few requests (this is a bug). - * It made our tests, flaky. This should make tests deterministic. - */ - const waitForOtelToInitialize = async () => { - await check( - async () => - await next - .readFile(traceFile) - .then(() => 'ok') - .catch(() => 'err'), - 'ok' - ) - } - const waitForRootSpan = async (numberOfRootTraces: number) => { await check(async () => { const spans = await getTraces() @@ -72,10 +58,6 @@ createNextDescribe( await next.patchFile(traceFile, '') } - beforeAll(async () => { - await waitForOtelToInitialize() - }) - afterEach(async () => { await cleanTraces() })