Skip to content

Consider server-side bulk file download (archive endpoint) #147

Description

@martsokha

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions