imicroseq / imicroseq/roadmap

Submission UI Improvement - File Processing

Open
#177 0 comments 0 reactions 1 assignee Claimed by @Buwujiu View on GitHub
Dominant language
No language data
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## The issue
JJ's original comment: When uploading large sequence files (i.e. >1GB), there's nothing indicating that the file is being processed (I assume the hash calculation). After dragging the file into the upload box, nothing shows up. Then, about 30 seconds later, the file suddenly show up in the file list. This problem worsens with how much files I drag into the upload box at the same time. I could also drag the same files during this period of time into the box. Suggest adding a progress bar or a dialog box to stop user interactions, and to indicate processing is happening.
## The Solution
### Move MD5 hashing off the main thread, into a Web Worker.

- [ ] Use a library with chunked/incremental hashing (e.g. spark-md5's incremental ArrayBuffer API) inside a worker, reading and hashing the file in slices instead of one giant buffer.

- [ ] This gets you two things at once: the page stays responsive while hashing runs, and you get real per-chunk progress you can report back to the main thread (postMessage({fileId, percent})), enabling an actual progress bar per file instead of a binary pending/done state.

### UI changes to pair with it, cheapest first

- [ ] Immediate feedback on drop — right now the dropzone (DropZone.tsx) gives no visual change the instant files are dropped. Add a "Processing N files…" state to the drop area itself as soon as onDrop fires, before any hashing completes.

- [ ] Per-row status in the Uploaded Files list — since files already added progressively to oneOrMoreTar once the worker fix is in, show each row as pending → done rather than only appearing once fully processed.

- [ ] Disable further drops while processing — worth checking what disabled is actually wired to on the dropzone; if it doesn't cover "currently hashing," a user could drop more files mid-batch and stack even more main-thread work under the current implementation.

## Next Steps
@leoraba to verify if the solution is valid.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.