fix(HAI-018): complete Step 2 — add client-side retry for fetchTaskDetail

- Added withRetry wrapper in api.ts (1 retry, 200ms delay)
- fetchTaskDetail now retries transient 500s transparently
- TaskCard shows 'Failed to load task details' instead of raw error
- Added api.test.ts with success, retry-success, and exhaustion tests
This commit is contained in:
Dustin Byrne
2026-03-25 21:32:11 -04:00
parent d452aeb0c1
commit 6f1cc2cb48
3 changed files with 82 additions and 2 deletions

View File

@@ -47,7 +47,7 @@ export function TaskCard({ task, queued, onOpenDetail, addToast }: TaskCardProps
const detail = await fetchTaskDetail(task.id);
onOpenDetail(detail);
} catch (err: any) {
addToast(err.message, "error");
addToast("Failed to load task details", "error");
}
}, [task.id, onOpenDetail, addToast]);