Skip to content

feat(ui): support multiple document upload in a single operation#818

Merged
cpcloud merged 2 commits into
micasa-dev:mainfrom
cpcloud:worktree-merry-doodling-tulip
Mar 25, 2026
Merged

feat(ui): support multiple document upload in a single operation#818
cpcloud merged 2 commits into
micasa-dev:mainfrom
cpcloud:worktree-merry-doodling-tulip

Conversation

@cpcloud
Copy link
Copy Markdown
Collaborator

@cpcloud cpcloud commented Mar 25, 2026

Summary

  • Add multi-document staging overlay triggered by Shift+A on the Docs tab
  • File picker at top, navigable staged-files list at bottom, toggled with tab
  • Files read eagerly at stage time (size, MIME, SHA256 checksum validated)
  • Duplicate path and checksum detection with inline error badges
  • Entity selector first page when opened from top-level Docs tab
  • Batch submission creates one Document per file via store.CreateDocument
  • Async sequential extraction pipeline with per-document progress view
  • Cancel during extraction preserves completed work
  • Confirmation dialog when discarding staged files
  • Shift+H hidden file toggle, cumulative size warning, mouse clickability
  • DocumentExistsByChecksum(kind, id, checksum) (bool, error) store method
  • Refactored file picker helpers to accept bare *huh.FilePicker
  • Design spec and implementation plan in plans/

closes #489

…asa-dev#489)

Add multi-document staging overlay triggered by Shift+A on the Docs tab.
Files are read eagerly at stage time with size, MIME, and SHA256
validation. Batch submission creates one Document per file, followed by
async sequential extraction with a progress view.

- Staging overlay with file picker + navigable staged-files list
- Duplicate path and checksum detection
- Entity selector for top-level Docs tab
- Async extraction pipeline with cancel support
- Confirmation dialog, Shift+H toggle, size warning, mouse clicks
- DocumentExistsByChecksum store method
- Refactored file picker helpers for bare *huh.FilePicker
- Design spec and implementation plan in plans/

closes micasa-dev#489

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@cpcloud cpcloud force-pushed the worktree-merry-doodling-tulip branch from c064e6a to d88b21d Compare March 25, 2026 16:01
… field

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@cpcloud cpcloud merged commit 888e6eb into micasa-dev:main Mar 25, 2026
24 checks passed
@cpcloud cpcloud deleted the worktree-merry-doodling-tulip branch March 25, 2026 16:12
cpcloud added a commit that referenced this pull request Mar 27, 2026
The batch document upload overlay reinvented the file picker, staging
list, extraction progress, and error handling from scratch instead of
building on the existing single-document extraction flow. The result
was broken across the board: forced entity selection, single-file
picker display, non-functional removal, ugly styling, and no progress
indicators.

Reverts the batch_doc overlay, its tests, and all wiring (model,
keys, mouse, view, types). The plan files are preserved as permanent
design records. Shift+A restores the working single-doc quick-add
form.

The feature will be rebuilt incrementally as a natural extension of
the existing extraction overlay.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
cpcloud added a commit that referenced this pull request Mar 27, 2026
## Summary

- Revert the batch document upload overlay (commit 888e6eb) which
  reinvented the file picker, staging list, and extraction progress
  from scratch instead of building on the existing single-doc flow
- Shift+A on the Documents tab restores the working single-doc
  quick-add form
- Plan files preserved as permanent design records

The feature will be rebuilt incrementally as an extension of the
existing form and extraction machinery (#830).

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

feat(ui): support multiple document upload in a single operation

1 participant