From cdd17718275d5029fc859eb63c5b54237596b5ca Mon Sep 17 00:00:00 2001 From: Nic Polumeyv <162764842+Nic-Polumeyv@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:57:05 -0400 Subject: [PATCH] fix: await init on every request to prevent race condition --- .changeset/spotty-pandas-wait.md | 6 ++++++ packages/adapter-netlify/src/edge.js | 4 +++- packages/adapter-vercel/files/edge.js | 4 +++- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 .changeset/spotty-pandas-wait.md diff --git a/.changeset/spotty-pandas-wait.md b/.changeset/spotty-pandas-wait.md new file mode 100644 index 000000000000..975e838fa90c --- /dev/null +++ b/.changeset/spotty-pandas-wait.md @@ -0,0 +1,6 @@ +--- +'@sveltejs/adapter-netlify': patch +'@sveltejs/adapter-vercel': patch +--- + +fix: await `init` on every request to prevent race condition diff --git a/packages/adapter-netlify/src/edge.js b/packages/adapter-netlify/src/edge.js index f0d9944741ca..348549015331 100644 --- a/packages/adapter-netlify/src/edge.js +++ b/packages/adapter-netlify/src/edge.js @@ -31,9 +31,11 @@ const initialized = server.init({ export default async function handler(request, context) { if (!origin) { origin = new URL(request.url).origin; - await initialized; } + // always await initialization to prevent race condition with concurrent requests + await initialized; + return server.respond(request, { platform: { context }, getClientAddress() { diff --git a/packages/adapter-vercel/files/edge.js b/packages/adapter-vercel/files/edge.js index f87bb6e64a98..70707543b2ce 100644 --- a/packages/adapter-vercel/files/edge.js +++ b/packages/adapter-vercel/files/edge.js @@ -54,9 +54,11 @@ const initialized = server.init({ export default async (request, context) => { if (!origin) { origin = new URL(request.url).origin; - await initialized; } + // always await initialization to prevent race condition with concurrent requests + await initialized; + return server.respond(request, { getClientAddress() { return /** @type {string} */ (request.headers.get('x-forwarded-for'));