From 08057f370c1db5f951ff71419fc7dc0b71e16fd0 Mon Sep 17 00:00:00 2001 From: Vishesh 'ironeagle' Bangotra Date: Fri, 29 May 2026 16:27:55 +0530 Subject: [PATCH] sse events --- src/FetchRequestDetail.tsx | 9 +++++++-- src/features/fetch-requests/fetch-requests.models.ts | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/FetchRequestDetail.tsx b/src/FetchRequestDetail.tsx index f6374c3..408380c 100644 --- a/src/FetchRequestDetail.tsx +++ b/src/FetchRequestDetail.tsx @@ -22,6 +22,7 @@ import CheckCircleIcon from "@mui/icons-material/CheckCircle"; import ErrorIcon from "@mui/icons-material/Error"; import WarningAmberIcon from "@mui/icons-material/WarningAmber"; import PlayArrowIcon from "@mui/icons-material/PlayArrow"; +import RemoveCircleOutlineIcon from "@mui/icons-material/RemoveCircleOutline"; import { useFetchRequest, useUpdateFetchRequest, @@ -55,13 +56,13 @@ const statusIcons: Record = { failed: , }; -const stepLabels = ["Load Content", "Extract", "Enrich", "Save"]; +const stepLabels = ["Load Content", "Extract", "Validate", "Enrich", "Save"]; function statusToActiveStep(status: FetchRequestStatus): number { switch (status) { case "pending": return -1; case "processing": return 0; - case "paused": return 1; + case "paused": return 2; case "raw_expenses_done": return 2; case "enriched_done": return 3; case "completed": return 4; @@ -74,6 +75,7 @@ function sseIcon(status: SSEEvent["status"]) { switch (status) { case "started": return ; case "completed": return ; + case "skipped": return ; case "paused": return ; } } @@ -145,6 +147,9 @@ export default function FetchRequestDetail() { refetchRequest(); refetchAmbiguities(); } + if (parsed.status === "completed" || parsed.step === "resume_extract") { + refetchRequest(); + } } catch { // ignore malformed events } diff --git a/src/features/fetch-requests/fetch-requests.models.ts b/src/features/fetch-requests/fetch-requests.models.ts index e9aa600..9159ca7 100644 --- a/src/features/fetch-requests/fetch-requests.models.ts +++ b/src/features/fetch-requests/fetch-requests.models.ts @@ -82,7 +82,7 @@ export interface ResolveAmbiguityPayload { export interface SSEEvent { step: string; - status: "started" | "completed" | "paused"; + status: "started" | "completed" | "skipped" | "paused"; message: string; }