diff --git a/.changeset/funny-pets-melt.md b/.changeset/funny-pets-melt.md new file mode 100644 index 000000000000..1a8a5a94605f --- /dev/null +++ b/.changeset/funny-pets-melt.md @@ -0,0 +1,5 @@ +--- +"@sveltejs/adapter-cloudflare": patch +--- + +fix: await `init` on every request to prevent race condition diff --git a/packages/adapter-cloudflare/src/worker.js b/packages/adapter-cloudflare/src/worker.js index 2cd48bef71ba..bcee34b882e2 100644 --- a/packages/adapter-cloudflare/src/worker.js +++ b/packages/adapter-cloudflare/src/worker.js @@ -46,9 +46,11 @@ export default { async fetch(req, env, ctx) { if (!origin) { origin = new URL(req.url).origin; - await initialized; } + // always await initialization to prevent race condition with concurrent requests + await initialized; + // skip cache if "cache-control: no-cache" in request let pragma = req.headers.get('cache-control') || ''; let res = !pragma.includes('no-cache') && (await Cache.lookup(req));