Skip to content

feat(control-plane): retry failed uploads and retry all failed operations - #5689

Merged
nicoloboschi merged 3 commits into
mainfrom
feat/retry-failed-uploads
Oct 16, 2026
Merged

nicoloboschi merged 3 commits into
mainfrom
feat/retry-failed-uploads

Conversation

@nicoloboschi

Copy link
Copy Markdown
Collaborator

Closes #5498.

Failed uploads (e.g. an LLM timeout during a big batch import) could only be deleted and re-uploaded. Both changes reuse the existing POST /operations/{id}/retry endpoint; no backend change. The stored file is kept when an upload fails, so a retry re-runs from the saved input.

  • Documents tab: a failed upload row now shows Retry next to Delete.
  • Background Operations (bank settings): with the Failed filter selected, a Retry all (N) button retries the failed rows on the current page, oldest first, one call at a time. A failed call is skipped and the rest go on; the toast reports Retried X of Y (error toast when X < Y).

Each step of an upload is its own operation, so a failure in the LLM step after a successful conversion is retried from Background Operations (that row is not shown in the Documents tab).

Testing

  • tests/components/bank-operations-retry-all.test.tsx: hidden outside the Failed filter, oldest-first order, continues past a failed call.
  • Manually on a local server: made uploads fail by hiding their stored file, restored it, then used Retry (one row) and Retry all (4 rows). The 3 recoverable uploads finished with 1 memory each; an unsupported GIF failed again as expected.

- Add tests: Retry all hidden outside the Failed filter, retries oldest first,
  continues past a failed call and reports the partial count.
- Show an error toast (not success) when some retries did not go through.
@nicoloboschi
nicoloboschi merged commit 6435687 into main Oct 16, 2026
104 checks passed
@nicoloboschi
nicoloboschi deleted the feat/retry-failed-uploads branch October 16, 2026 15:46
@nicoloboschi nicoloboschi mentioned this pull request Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow for retrying failed imported documents

1 participant