Add Fetch Request pipeline UI with real-time SSEs #8

Merged
aetos merged 16 commits from ai/fetch-request-steps-ui into fetch-request-steps-ui 2026-05-30 15:58:49 +00:00
Showing only changes of commit 4628190858 - Show all commits

View File

@@ -145,7 +145,7 @@ export default function FetchRequestDetail() {
const [sseEvents, setSseEvents] = React.useState<SSEEvent[]>([]);
const [sseConnected, setSseConnected] = React.useState(false);
const [liveParsedCount, setLiveParsedCount] = React.useState<number>(0);
const [liveParsedCount, setLiveParsedCount] = React.useState<number | undefined>(undefined);
const [stepStats, setStepStats] = React.useState<Record<string, number>>({});
const sseRef = React.useRef<EventSource | null>(null);
const feedRef = React.useRef<HTMLDivElement>(null);
@@ -262,14 +262,14 @@ export default function FetchRequestDetail() {
const progressPercent = React.useMemo(
() => computeProgressPercent(
(fetchRequest as any)?.status as FetchRequestStatus ?? "pending",
liveParsedCount,
liveParsedCount ?? 0,
seenSteps,
),
[fetchRequest, liveParsedCount, seenSteps],
);
const displayParsedCount = React.useMemo(() => {
if (liveParsedCount > 0) return liveParsedCount;
if (liveParsedCount && liveParsedCount > 0) return liveParsedCount;
const source = (fetchRequest as any)?.source;
const persistedCount = source?.txn_dict_count ?? source?.txn_dicts_count ?? 0;
if (persistedCount > 0) return persistedCount;