diff --git a/duskmeter-dev.sqlite-wal b/duskmeter-dev.sqlite-wal index 2e78c0a..02707f6 100644 Binary files a/duskmeter-dev.sqlite-wal and b/duskmeter-dev.sqlite-wal differ diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte index b65e1db..cae0ca8 100644 --- a/src/lib/components/Header.svelte +++ b/src/lib/components/Header.svelte @@ -19,7 +19,7 @@ } async function onRefresh() { - await refreshData(true); + await refreshData(false); } diff --git a/src/lib/stores/sites.ts b/src/lib/stores/sites.ts index 7628c9f..ed2db98 100644 --- a/src/lib/stores/sites.ts +++ b/src/lib/stores/sites.ts @@ -289,32 +289,29 @@ export async function acknowledgeAlert(id: number) { export async function refreshData(force: boolean = false) { refreshing.set(true); clearError(); - const collectedErrors: string[] = []; - try { - const res = await fetch(`/api/sync${force ? "?force=true" : ""}`, { method: "POST" }); - if (!res.ok) throw new Error(`API returned ${res.status}`); - const data = await res.json(); - const sources = new Set(); - for (const r of data.results ?? []) { - sources.add(r.viirsSource ?? "unknown"); - for (const e of r.errors ?? []) collectedErrors.push(`${r.name}: ${e}`); + + if (force) { + try { + const res = await fetch(`/api/sync?force=true`, { method: "POST" }); + if (!res.ok) throw new Error(`API returned ${res.status}`); + const data = await res.json(); + const sources = new Set(); + for (const r of data.results ?? []) { + sources.add(r.viirsSource ?? "unknown"); + } + syncInfo.set({ synced: data.synced ?? 0, total: data.total ?? 0, startedAt: data.startedAt, sources: [...sources], errors: [] }); + } catch (e) { + reportError("Full refresh failed", e, "Background refresh failed"); + } + try { + await fetch("/api/assess-all", { method: "POST" }); + } catch (e) { + reportError("Bulk assessment failed", e, "Scheduled assessment failed"); } - syncInfo.set({ - synced: data.synced ?? 0, - total: data.total ?? 0, - startedAt: data.startedAt, - sources: [...sources], - errors: collectedErrors, - }); - } catch (e) { - reportError("Full refresh failed", e, "Background refresh failed"); - } - try { - await fetch("/api/assess-all", { method: "POST" }); - } catch (e) { - reportError("Bulk assessment failed", e, "Scheduled assessment failed"); } + await fetchSites(); + await fetchAlerts(); refreshing.set(false); } export function getGlobalStats() { diff --git a/src/routes/(app)/alerts/+page.svelte b/src/routes/(app)/alerts/+page.svelte index 8e8ee3e..1168a0c 100644 --- a/src/routes/(app)/alerts/+page.svelte +++ b/src/routes/(app)/alerts/+page.svelte @@ -1,20 +1,6 @@ Alerts — Duskmeter @@ -33,30 +19,18 @@ {:else}
{#each $allAlerts as alert (alert.id)} -
+
-
+
{alert.severity} {alert.alertType.replace(/_/g, ' ')} + {new Date(alert.triggeredAt).toLocaleDateString()}

{alert.message}

-
{/each}