Context
The SDK previously had files.downloadFiles — a call returning a zip/tar bundle of multiple files in one request. That endpoint was removed; the frontend now downloads each file individually client-side.
A stub ArchiveService (tar/zip, never implemented, never wired into the module tree) was carried in crates/nvisy-server/src/service/compression/ and has now been removed as dead code.
Question
Is a server-side bulk-download endpoint worth building?
- For: one request instead of N; server can stream a single archive; better UX for "download all / download selected".
- Against: client-side per-file download works today; server-side archiving adds streaming/memory considerations, and files are app-layer encrypted (the archive path must decrypt-then-repackage, or bundle ciphertext — needs a design decision).
If we build it
GET /workspaces/{workspaceId}/files/archive (filter/select which files), streaming a tar.gz or zip.
- SDK:
files.downloadFiles(workspaceId, { fileIds? }).
- Decide archive format, whether it decrypts on the fly, and streaming vs. buffering for large sets.
Filed while removing the unused ArchiveService. No commitment — parking the decision.
Context
The SDK previously had
files.downloadFiles— a call returning a zip/tar bundle of multiple files in one request. That endpoint was removed; the frontend now downloads each file individually client-side.A stub
ArchiveService(tar/zip, never implemented, never wired into the module tree) was carried incrates/nvisy-server/src/service/compression/and has now been removed as dead code.Question
Is a server-side bulk-download endpoint worth building?
If we build it
GET /workspaces/{workspaceId}/files/archive(filter/select which files), streaming a tar.gz or zip.files.downloadFiles(workspaceId, { fileIds? }).Filed while removing the unused
ArchiveService. No commitment — parking the decision.