Gallery has no bulk export — user with 5 designs selected can bulk-delete or bulk-favorite but not bulk-export, has to open each one in the workspace to export #254
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#254
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding
src/pages/Gallery.tsx's multi-select state has bulk delete (perconfirmBulkDelete) and presumably bulk favorite. But there's no bulk export.grep -n 'bulkExport\|exportSelected' src/pages/Gallery.tsxreturns 0.A user with 5 designs selected:
Currently:
5 navigation hops per design = 25 total.
Where
src/pages/Gallery.tsx(selectedDesigns Set)grep -n 'bulkExport' src/returns 0src/components/workspace/ExportDialog.tsx(per-design export)src/lib/easystitch-client.ts:exportPESSuggested fix shape
Add a "Export 5" button to the multi-select toolbar (next to "Delete 5"):
onBulkExport:selectedDesignsin parallel (usingPromise.all).exportPES(...)via the easystitch-client.<a>element with the Blob URL).A more polished version uses the
JSZiplibrary to package the 5 PES files into a single.zipfor a single download. The user gets one zip file with all 5 designs.The zip approach is the standard for bulk export in design tools.
Severity
Low. The user can export one at a time. Power users with many designs notice.
Discovered by
Gap analysis (2026-10-02) of gallery bulk actions.
Related
confirmBulkDelete) is the pattern to mirror.Closed by
06b0603.Added Export {count} button to the Gallery SelectionToolbar (next to Delete). The handler iterates selected designs in parallel via Promise.allSettled, calls exportPES per design using each snapshot's stitch objects + machine profile, and triggers a download per file.
5-file batch download (no JSZip dep). Skipped designs (no snapshot) and partial failures get a per-summary toast. isExporting greys out the button mid-batch.
Files: src/pages/Gallery.tsx, src/components/gallery/SelectionToolbar.tsx, src/components/gallery/issue-254-bulk-export.test.tsx. 5 new tests + 1316 pre-existing all green; tsc --noEmit clean.