feat(import): durable batch checkpoint and transient auto-retry
CI / check (push) Successful in 2m24s
CI / deploy (push) Successful in 1m32s
CI / publish-container (push) Successful in 47s

Mirror interactive batch runs into the import-job store so interrupted imports (restart, time-out, disconnect) can be resumed from Import History. Items are checkpointed as they settle (coalesced, serialized saves) and the mirror starts 'running' so the boot-time worker marks it 'interrupted' instead of double-importing; done items are never re-imported. Add bounded backoff retry for transient download/connection failures before marking an item failed, and point the client's time-out/network toasts at Import History.
This commit is contained in:
openhands committed 2026-09-13 12:50:17 +02:00
1 parent af1a06b0a3
commit ffcd4232d6
4 files changed
+263 -26

No files matched your search

@@ -933,10 +933,12 @@ export function StudioClient({
if ((err as Error).name === "AbortError") {
toast.info("Import cancelled");
} else if ((err as Error).name === "TimeoutError") {
toast.error("Import timed out. Retry or reduce concurrency.");
toast.error(
"Import timed out. Progress was saved — open Import History to resume failed items.",
);
} else if (err instanceof TypeError && err.message?.includes("fetch")) {
toast.error(
"Network error during upload. Check your connection and retry.",
"Network error during upload. Progress was saved — open Import History to resume failed items.",
);
} else {
toast.error(