omarchy-send/internal/client
28allday 7ab3f905ee Send and read plain-text messages
Adds LocalSend-compatible text messaging alongside file transfer.

Wire format (matches the LocalSend app): a message is a single "file" with
fileType "text/plain" whose content rides in the prepare-upload `preview`
field. The receiver returns an empty token set, so nothing is uploaded — the
text is read straight from the preview.

- client: SendMessage builds that single-file prepare-upload (no body upload).
- server: detect a message (one text file with non-empty preview), surface it
  on a new Messages() channel instead of saving a file, and respond with an
  empty file set. Messages bypass the accept prompt (auto-received); the PIN
  gate still applies.
- app: bridge the server's messages channel to the TUI as MessageMsg.
- tui: a new Messages tab lists received messages (enter to read full, d to
  delete); press `m` on a device to compose and send one. Incoming messages
  show a footer notice.

Tests: end-to-end send→receive (text intact, sender preserved, nothing written
to disk) and unit coverage of the message-detection rule.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 21:40:40 +01:00
..
cancel_test.go Stop a cancelled transfer from carrying on into the next one 2026-05-27 21:20:30 +01:00
client.go Send and read plain-text messages 2026-05-27 21:40:40 +01:00
client_test.go Initial commit: Omarchy-Send v0.1.0 2026-05-27 19:26:08 +01:00
folder_test.go Support sending folders, not just single files 2026-05-27 21:00:52 +01:00
message_test.go Send and read plain-text messages 2026-05-27 21:40:40 +01:00
progress.go Initial commit: Omarchy-Send v0.1.0 2026-05-27 19:26:08 +01:00