[Feature]: Add "Get from Server" button to download files directly from server filesystem
- Lenguaje dominante
- TypeScript
- Estrellas
- 38
- Forks
- 78
- Merge medio
- 2 d 3 h
- PR fusionados (30 d)
- 6
Descripción
### Problem Statement
Currently, if a user wants to download a file from the server (host) onto a remote client (e.g. phone), there's no direct way to do it. The remote client has to first go to the host machine, open the client there, and manually upload the file via the existing "Browse Files" button before it becomes available to download elsewhere.
This is inconvenient — since the server (Node.js) already has access to its own filesystem, it should be possible to let a remote client browse and pick files directly from the server without this manual upload step first.
### Proposed Solution
Add a second button, "Get from Server", next to the existing "Browse Files" button in the Send Files modal.
- Browse Files (existing) → opens the local device's own file picker, for uploading files to the server (unchanged behavior)
- Get from Server (new) → fetches a file listing from a server-side directory and lets the client pick a file to download directly, without needing a manual upload first
Screenshot
Additional pieces needed:
1. A new server-side API endpoint (e.g. /api/files/server-list) that returns the contents of a configured directory
2. A new Settings field — "Server Download Directory" — where the user configures which folder on the host machine should be browsable/downloadable
3. This should only be visible to remote clients, not to the host's own browser session (the host doesn't need to "download from itself")
4. The list of downloadable files should NOT be auto-shared across multiple connected clients — each client's view/session should stay independent for privacy
### Alternatives Considered (Optional)
Reusing the existing "Browse Files" button for both upload and download (e.g. showing a choice popup on click) — decided against this since it adds an extra step and is less clear than two distinct, purpose-labeled buttons.
### Additional Context (Optional)
This follows up on a discussion in Discord about improving the file transfer flow. Happy to work on this — opening this issue first for approach review before starting implementation.
Open questions to confirm before starting:
- Should the "Server Download Directory" be a single fixed folder, or should users be able to browse into subfolders too?
- Best way to detect host vs remote-client session — no existing mechanism found in the codebase; current plan is to key off the presence of the `token` query param.
### Checklist
- [x] I have searched for existing feature requests to avoid duplicates
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.