feat(deployment): deploy to a local or mounted folder (#521)

Deployment only supported SFTP, so a web root on the same machine or on a mounted share still needed an SSH server.

Servers now have a type: SFTP or Local or mounted folder. A local server has a folder and optional web URL and shares upload on save, upload and download, delete, compare and sync, excludes, mappings and the Remote Host view with SFTP through one backend filesystem. Copies never read the whole file into memory, a file is never copied onto itself, and Test Connection checks the folder exists and is writable. Existing servers stay SFTP.

Fixes #467
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-10-31 12:01:54 +08:00
1 джерело bde19959b9
коміт 290abd303e
26 files changed
+1127 -206

No files matched your search

+1 -1
Переглянути файл
@@ -38,7 +38,7 @@ function ConnectDialog() {
setError(null);
setBusy(true);
try {
const entries = await call(commands.remoteList(ssh, dir));
const entries = await call(commands.remoteBootstrapList(ssh, dir));
const shown = listedDirectory(dir, entries);
setBrowse({ dir: shown, folders: browsableFolders(entries) });
setPath(shown);