From df922e8c6781104d85906adaf80ee53e68e746b9 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 24 May 2026 13:18:57 +0800 Subject: [PATCH] fix(web): keep evidence visible when quality fails --- .../dashboard/automation-evidence-card.tsx | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/apps/web/src/components/dashboard/automation-evidence-card.tsx b/apps/web/src/components/dashboard/automation-evidence-card.tsx index f5bddd95..5888dd67 100644 --- a/apps/web/src/components/dashboard/automation-evidence-card.tsx +++ b/apps/web/src/components/dashboard/automation-evidence-card.tsx @@ -264,18 +264,30 @@ export function AutomationEvidenceCard() { })) setLoading(false) - const quality = await fetchJson( - '/api/v1/platform/truth-chain/quality/summary?project_id=awoooi&hours=24&limit=200', - controller.signal - ) - if (!controller.signal.aborted) { - setSnapshot((current) => ({ - quality: quality ?? current?.quality ?? null, - coverage: current?.coverage ?? coverage, - recurrence: current?.recurrence ?? recurrence, - runs: current?.runs ?? (Array.isArray(runs?.runs) ? runs.runs : Array.isArray(runs?.items) ? runs.items : []), - route: current?.route ?? route, - })) + try { + const quality = await fetchJson( + '/api/v1/platform/truth-chain/quality/summary?project_id=awoooi&hours=24&limit=200', + controller.signal + ) + if (!controller.signal.aborted) { + setSnapshot((current) => ({ + quality: quality ?? current?.quality ?? null, + coverage: current?.coverage ?? coverage, + recurrence: current?.recurrence ?? recurrence, + runs: current?.runs ?? (Array.isArray(runs?.runs) ? runs.runs : Array.isArray(runs?.items) ? runs.items : []), + route: current?.route ?? route, + })) + } + } catch { + if (!controller.signal.aborted) { + setSnapshot((current) => current ?? { + quality: null, + coverage, + recurrence, + runs: Array.isArray(runs?.runs) ? runs.runs : Array.isArray(runs?.items) ? runs.items : [], + route, + }) + } } } catch (err) { if (!controller.signal.aborted) {