Users configure share mode, expiry, and max views before upload; batch summary confirms choices above the queue.
1.4 KiB
1.4 KiB
Upload flow PR plan
Phase 1 — Configure UI (done)
- Split upload page: dropzone, queue, metadata inspector, configure modal
- Batch settings form (ZK / hotlink, expiry, max views, ZK password)
- Preset → API helpers (
resolveUploadBatchExpiresAt,resolveUploadBatchMaxViews, ZK prepare options builder) - Modal validation on Upload; batch settings summary after confirm
Phase 2 — Upload execution + dual queue status (in progress)
- Separate upload state from metadata (
UploadQueueEntryper file key); metadata column unchanged inUploadQueueList - Show upload column once a batch upload has started (pending / uploading / uploaded / failed / skipped)
onBatchUpload: stripped blob → encrypt →useUploadStorePOST (ZK + hotlink)- Share URLs via
buildZkViewerPath/buildHotlinkImagePath(+ optional absolute URL fromVITE_CLEARNET_DOMAIN) - Disable dropzone / configure while batch upload runs; clear upload state on new pick
Phase 3 — Hardening (follow-up or tail of PR)
- ALTCHA: fetch challenge + solve, pass
x-altchaon upload (frontend not wired yet; backend may allow when disabled) - Copy-to-clipboard for share links; optional delete token display
- Modal Esc / backdrop close
- Single validation gate (modal vs builder)
Out of scope
- Viewer / delete pages
- E2E tests against docker-compose