diff --git a/apps/web/src/app/[locale]/awooop/work-items/page.tsx b/apps/web/src/app/[locale]/awooop/work-items/page.tsx index f9fbffef..43013ff8 100644 --- a/apps/web/src/app/[locale]/awooop/work-items/page.tsx +++ b/apps/web/src/app/[locale]/awooop/work-items/page.tsx @@ -98,13 +98,20 @@ const statusConfig: Record(url: string): Promise { +async function fetchJson(url: string, timeoutMs = 8000): Promise { + const controller = new AbortController(); + const timeout = window.setTimeout(() => controller.abort(), timeoutMs); try { - const response = await fetch(url, { cache: "no-store" }); + const response = await fetch(url, { + cache: "no-store", + signal: controller.signal, + }); if (!response.ok) return null; return (await response.json()) as T; } catch { return null; + } finally { + window.clearTimeout(timeout); } }