Description
Upgrade the document upload flow to properly support real course materials and repeated internal testing.
The workflow must support:
- multi-file upload
- per-file upload progress
- per-file backend processing state
- retry for failed uploads
- clear and actionable error messages
Scope
Implement a queue-based upload UI where each file is tracked independently.
Include:
-
multi-file selection / drag-and-drop
-
per-file client-side state (queued, uploading, uploaded, processing, indexed, failed)
-
per-file upload progress bar
-
per-file backend processing status polling
-
per-file retry action
-
clear distinction between:
- upload failure
- backend processing failure
Technical notes
- Model each file as an independent queue item
- Store backend
documentId after successful upload
- Poll processing status only for uploaded/processing items
- Keep upload progress and processing status as two separate concepts
- Support limited upload concurrency (recommended: 2–3 files max)
- Validate files client-side before upload when possible
Suggested queue item shape
type UploadStatus =
| "queued"
| "uploading"
| "uploaded"
| "processing"
| "indexed"
| "failed";
Each queue item should track at least:
- local id
- file metadata
- upload progress
- status
- backend document id
- processing stage
- error message
- retry count
Deliverables
- working multi-file upload queue
- live per-file upload progress
- processing state updates in UI
- retry support for failed files
- clear error messages for validation, network, server, and processing failures
Acceptance criteria
- users can upload multiple files in one action
- each file is shown as an independent queue item
- each file displays upload progress
- each file displays backend processing state after upload
- failed files can be retried individually
- upload errors and processing errors are clearly distinguished
- one failed file does not break the rest of the queue
Why it helps
If you’re working with real PDFs/slides, this significantly improves team productivity during testing, debugging, and internal demos.
Description
Upgrade the document upload flow to properly support real course materials and repeated internal testing.
The workflow must support:
Scope
Implement a queue-based upload UI where each file is tracked independently.
Include:
multi-file selection / drag-and-drop
per-file client-side state (
queued,uploading,uploaded,processing,indexed,failed)per-file upload progress bar
per-file backend processing status polling
per-file retry action
clear distinction between:
Technical notes
documentIdafter successful uploadSuggested queue item shape
Each queue item should track at least:
Deliverables
Acceptance criteria
Why it helps
If you’re working with real PDFs/slides, this significantly improves team productivity during testing, debugging, and internal demos.