From be6f58630fcf6e219344c46af2f440770ae55425 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Thu, 4 Dec 2025 04:37:30 -0800 Subject: [PATCH] Create task task-021 --- ...ile-Upload-with-Encrypted-Local-Storage.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 backlog/tasks/task-021 - Implement-Multi-Item-File-Upload-with-Encrypted-Local-Storage.md diff --git a/backlog/tasks/task-021 - Implement-Multi-Item-File-Upload-with-Encrypted-Local-Storage.md b/backlog/tasks/task-021 - Implement-Multi-Item-File-Upload-with-Encrypted-Local-Storage.md new file mode 100644 index 0000000..1484a25 --- /dev/null +++ b/backlog/tasks/task-021 - Implement-Multi-Item-File-Upload-with-Encrypted-Local-Storage.md @@ -0,0 +1,36 @@ +--- +id: task-021 +title: Implement Multi-Item File Upload with Encrypted Local Storage +status: To Do +assignee: [] +created_date: '2025-12-04 12:37' +labels: + - feature + - security + - offline-storage + - upload +dependencies: [] +priority: high +--- + +## Description + + +Add drag-and-drop / file picker interface for batch importing local files into encrypted IndexedDB storage. Supports images, PDFs, documents, text files, audio, and video. Files are encrypted client-side and can be selectively shared to boards or backed up to R2. See docs/LOCAL_FILE_UPLOAD.md for full architecture. + + +## Acceptance Criteria + +- [ ] #1 File drop zone component with drag-and-drop +- [ ] #2 Support for images, PDFs, documents, text, audio, video +- [ ] #3 Image thumbnail generation +- [ ] #4 PDF text extraction and thumbnail +- [ ] #5 All files encrypted before IndexedDB storage +- [ ] #6 File browser panel with type filtering +- [ ] #7 Search within uploaded files +- [ ] #8 Storage quota display and warnings +- [ ] #9 Drag files from browser to canvas +- [ ] #10 Canvas shapes for images, PDFs, documents, generic files +- [ ] #11 Share confirmation dialog for private files +- [ ] #12 Per-file privacy controls +