Skip to content

feat(sftp): drag and drop, folder transfers and file dates - #131

Merged
timhartmann7 merged 46 commits into
timhartmann7:mainfrom
nikox96:feat-drag-n-drop-sftp
Oct 8, 2026
Merged

timhartmann7 merged 46 commits into
timhartmann7:mainfrom
nikox96:feat-drag-n-drop-sftp

Conversation

@nikox96

@nikox96 nikox96 commented Sep 30, 2026 •

Copy link
Copy Markdown
  • Drag files and folders between the SFTP panes, or from the OS file manager onto the remote pane (Windows, macOS and Linux, HiDPI included).
  • Upload and Download take whole folders in both apps: merged into an existing folder, permission bits kept, symlinks and special files skipped and reported, one bad item never stops the rest.
  • A server-supplied name can never land outside the chosen folder, Windows drive prefixes and reserved names included.
  • Cancel a transfer from the progress strip, by closing its tab, or with Esc in the terminal app; the partial file is removed.
  • The desktop app asks before replacing names that already exist, and shows a transfer as preparing while it is planned.
  • A Modified column in both apps.
  • The terminal app pastes and deletes more than 64 items one at a time and no longer crashes when a file grows while it is copied.

@nikox96
nikox96 force-pushed the feat-drag-n-drop-sftp branch from ead8029 to 7bb7844 Compare September 30, 2026 15:27
Nicolò Rossi added 2 commits October 1, 2026 13:28
Drag a file (or every ticked file) from one pane to the other to
upload or download it, onto a folder row to land in that folder, or
drop files from the OS file manager onto the remote pane. Pane to
pane uses pointer events, since Tauri's native drop handler blocks
HTML5 drag and drop in WebView2; OS drops come through
onDragDropEvent and a new stat_local_paths command that tells files
from folders.

FileEntry now carries modified and created times. The GUI panes show
a Modified column, plus Created on the local side (SFTP v3 has no
creation time), and the TUI file manager shows the modification time
when the panel is wide enough.
@nikox96
nikox96 force-pushed the feat-drag-n-drop-sftp branch from 7bb7844 to 3faaaf7 Compare October 1, 2026 11:28
Nicolò Rossi and others added 26 commits October 1, 2026 13:59
Upload and Download now copy a folder with everything inside it when
the source is a directory. The core walks the tree first, so the
progress bar covers the whole folder, then creates the folders and
copies the files. Symbolic links inside the tree are skipped, names
that are not plain are refused, and every local destination is checked
for '..'.

In the desktop app folder rows can be dragged between the panes, a
ticked selection carries its folders along, folders dropped from the OS
upload instead of being refused, and the Upload and Download buttons
take ticked folders too.
@timhartmann7 timhartmann7 changed the title feat(sftp): drag files between panes and show file times feat(sftp): drag and drop, folder transfers and file dates Oct 2, 2026
@timhartmann7
timhartmann7 merged commit 70241a9 into timhartmann7:main Oct 8, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants