From 5c5eeccbda44b8f9da9a204ca203076798275688 Mon Sep 17 00:00:00 2001 From: "farbenmeer-code[bot]" <294770764+farbenmeer-code[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 06:54:36 +0000 Subject: [PATCH] fix(worker): await serveFromNetwork in stale-fallback catch block The missing await caused the promise rejection to escape the try-catch, making the offline stale-fallback unreachable. Now the catch block can serve cachedResponse when serveFromNetwork rejects (e.g. offline). --- .changeset/await-stale-fallback.md | 5 +++++ packages/2-toapi-worker/src/handle-toapi-request.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/await-stale-fallback.md diff --git a/.changeset/await-stale-fallback.md b/.changeset/await-stale-fallback.md new file mode 100644 index 00000000..0597e2f4 --- /dev/null +++ b/.changeset/await-stale-fallback.md @@ -0,0 +1,5 @@ +--- +"@toapi/worker": patch +--- + +Fix offline stale-fallback in the worker: `serveFromNetwork` is now awaited so the expired-cache catch block can serve the cached response when the network is unavailable. \ No newline at end of file diff --git a/packages/2-toapi-worker/src/handle-toapi-request.ts b/packages/2-toapi-worker/src/handle-toapi-request.ts index 2014bd0b..3ec54286 100644 --- a/packages/2-toapi-worker/src/handle-toapi-request.ts +++ b/packages/2-toapi-worker/src/handle-toapi-request.ts @@ -32,7 +32,7 @@ export async function handleToapiRequest( // cached response is expired try { // try to serve from network - return serveFromNetwork(req); + return await serveFromNetwork(req); } catch (error) { // probably network not available, serve old response errorLog(error);