Is your feature request related to a problem?
Large document uploads only show a generic loading state in the UI. Users lack visibility into upload progress and estimated time remaining, which can lead to frustration.
Describe the solution you'd like
- Add an
uploadWithProgress helper in app/lib/apiClient.ts using XMLHttpRequest for upload.onprogress
- Track
uploadProgress percentage state in app/(main)/document/page.tsx
- Display a progress bar in UploadDocumentModal when isUploading is true
- No backend changes required - XHR handles bytes sent from browser to server
Original issue
Describe the current behavior
When uploading large documents, the UI only shows a generic loading state (isUploading). Users have no visibility into upload progress or estimated time remaining.
Describe the enhancement you'd like
- Add an
uploadWithProgress helper in app/lib/apiClient.ts using XMLHttpRequest (which supports upload.onprogress, unlike fetch)
- Track
uploadProgress percentage state in app/(main)/document/page.tsx
- Display a progress bar in UploadDocumentModal when isUploading is true
- No backend changes required for now - XHR tracks bytes sent from browser to server
Is your feature request related to a problem?
Large document uploads only show a generic loading state in the UI. Users lack visibility into upload progress and estimated time remaining, which can lead to frustration.
Describe the solution you'd like
uploadWithProgresshelper in app/lib/apiClient.ts usingXMLHttpRequestforupload.onprogressuploadProgresspercentage state in app/(main)/document/page.tsxOriginal issue
Describe the current behavior
When uploading large documents, the UI only shows a generic loading state (
isUploading). Users have no visibility into upload progress or estimated time remaining.Describe the enhancement you'd like
uploadWithProgresshelper in app/lib/apiClient.ts usingXMLHttpRequest(which supportsupload.onprogress, unlike fetch)uploadProgresspercentage state in app/(main)/document/page.tsx