From 365a246461296d3041dada97ae8a84fe899b9d97 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Tue, 24 Mar 2026 17:18:38 +0100 Subject: [PATCH] Update health-status-modal.tsx --- AppImage/components/health-status-modal.tsx | 22 ++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/AppImage/components/health-status-modal.tsx b/AppImage/components/health-status-modal.tsx index 93018fc1..a250c018 100644 --- a/AppImage/components/health-status-modal.tsx +++ b/AppImage/components/health-status-modal.tsx @@ -375,12 +375,28 @@ export function HealthStatusModal({ open, onOpenChange, getApiUrl }: HealthStatu body: JSON.stringify({ error_key: errorKey }), }) + const responseData = await response.json().catch(() => ({})) + if (!response.ok) { - const errorData = await response.json().catch(() => ({})) - throw new Error(errorData.error || `Failed to dismiss error (${response.status})`) + throw new Error(responseData.error || `Failed to dismiss error (${response.status})`) } - await fetchHealthDetails() + // Optimistically update local state to avoid slow re-fetch + // Add the dismissed item to the local list immediately + if (responseData.result || responseData.success) { + const dismissedItem = { + error_key: errorKey, + category: responseData.result?.category || responseData.category || '', + severity: responseData.result?.original_severity || 'WARNING', + reason: 'Dismissed by user', + dismissed: true, + acknowledged_at: new Date().toISOString() + } + setDismissedItems(prev => [...prev, dismissedItem]) + } + + // Fetch fresh data in background (non-blocking) + fetchHealthDetails().catch(() => {}) } catch (err) { console.error("Error dismissing:", err) } finally {