Skip to content

Upload page instant-upload + ETA, ePAI copy fix, viewer toolbar defaults - #203

Merged
aperson30 merged 2 commits into
mainfrom
feat/upload-viewer-ux
Aug 28, 2026
Merged

Upload page instant-upload + ETA, ePAI copy fix, viewer toolbar defaults#203
aperson30 merged 2 commits into
mainfrom
feat/upload-viewer-ux

Conversation

@aperson30

Copy link
Copy Markdown
Collaborator

Summary

  • Upload starts the instant a file is selected instead of waiting for a model to be picked; the file's name/type/size now live inside the dropzone box instead of a separate row below it.
  • Removed the "Upload Progress %" bar entirely.
  • The Active-scan card now shows an estimated time remaining (based on typical per-model duration) once a scan is actually running, replacing the old indeterminate sweep that carried no information.
  • ePAI's model-picker description said "pancreas and tumor analysis" only - the backend (_EPAI_TO_VIEWER in auto_segmentor.py) already maps and outputs all 25 organ labels in one pass, confirmed against both this checkout and the live prod .env. Fixed the copy; no backend change was needed.
  • Viewer toolbar now defaults to visible (was hidden by default). The floating gear button shown when the toolbar is hidden was positioned almost exactly on top of the axial pane's "AXIAL" label (top:12/left:14 vs the label's top:10/left:12), hiding it completely - moved the gear clear of the label.

Test plan

  • npm run build (tsc -b + vite build) passes clean on a throwaway remote clone
  • Manual: select a file, confirm it starts uploading immediately and appears inside the dropzone box
  • Manual: run a scan, confirm the Active card shows "About N min left" once running
  • Manual: open a session, confirm the toolbar is visible by default and the gear (when toggled off/on) doesn't overlap the AXIAL label

…iewer: toolbar on by default, fix gear/label overlap

- Files now start uploading the instant they're selected, not after a
  model is picked, and the old "Upload Progress" bar is gone - the file
  list itself (name/type/size) now lives inside the dropzone box.
- The Active-scan card shows an estimated time remaining once inference
  is actually running, instead of a content-free indeterminate sweep.
- ePAI's description was undersellling it ("pancreas and tumor" only) -
  the backend already emits the full 25-organ segmentation in one pass,
  so this just fixes the copy to say so.
- Viewer toolbar now defaults to visible instead of hidden; the floating
  gear that appears when it's hidden was sitting almost exactly on top
  of the axial pane's label, hiding it - moved clear of it.
…d scheduling

- organStats.test.tsx assumed the toolbar started hidden and clicked
  "Toggle toolbar" to reveal it before opening the Panels menu - now that
  it's visible by default, that click hid it instead. Dropped the click.
- uploadScheduling.test.tsx asserted scan A's dispatch must land before
  scan B's upload finishes, using real per-chunk timers to create that
  race. With uploads now starting on file-select instead of on Run, both
  files' background uploads reliably finished before the test even
  reached the Run click, so there was nothing left in flight to race
  against. Replaced the timer-based race with an explicit gate the test
  controls, so scan B is deterministically still uploading at the moment
  Run is clicked.
@aperson30
aperson30 merged commit 4084b27 into main Aug 28, 2026
8 checks passed
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.

1 participant