omarchy-send/internal
28allday beb6b9040e Support sending folders, not just single files
The sender only handled regular files: a staged directory would fail at
upload time, so users could only send individual files.

Now a staged directory is walked recursively and each file is advertised
with a name relative to the folder's parent (e.g. "Trip/day1/img.jpg"),
which is the LocalSend-compatible way to carry structure. The receiver
recreates those subdirectories under the receive dir, creating parents as
needed. The path-traversal guard is preserved: names are cleaned against a
leading "/" to collapse "..", and a containment check ensures the result
stays within the receive dir.

In the TUI send picker, "a" stages the folder currently being browsed;
staged folders are tagged in the panel and the help text is updated.

Tests: directory expansion produces relative names; an end-to-end folder
send recreates the structure on the receiver; destPath preserves subdirs,
rejects traversal, and de-duplicates within subfolders.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 21:00:52 +01:00
..
app Initial commit: Omarchy-Send v0.1.0 2026-05-27 19:26:08 +01:00
client Support sending folders, not just single files 2026-05-27 21:00:52 +01:00
config Generate a random friendly alias on first run 2026-05-27 20:44:55 +01:00
dbg Initial commit: Omarchy-Send v0.1.0 2026-05-27 19:26:08 +01:00
discovery Initial commit: Omarchy-Send v0.1.0 2026-05-27 19:26:08 +01:00
protocol Initial commit: Omarchy-Send v0.1.0 2026-05-27 19:26:08 +01:00
security Initial commit: Omarchy-Send v0.1.0 2026-05-27 19:26:08 +01:00
server Support sending folders, not just single files 2026-05-27 21:00:52 +01:00
theme Initial commit: Omarchy-Send v0.1.0 2026-05-27 19:26:08 +01:00
transfer Initial commit: Omarchy-Send v0.1.0 2026-05-27 19:26:08 +01:00
tui Support sending folders, not just single files 2026-05-27 21:00:52 +01:00