diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-15 02:22:05 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-15 02:22:05 +0200 |
| commit | adda9613fad48a68239e2dbd93321818a835c286 (patch) | |
| tree | 8835fd2ac3e203d3f3110bc45617c79eb982cd0d /CLAUDE.md | |
| parent | 419af660eeb8a4403e37a63c54a15586d04d5a8e (diff) | |
| download | meshbay-adda9613fad48a68239e2dbd93321818a835c286.tar.gz | |
feat(cli): chat --follow
chat GROUP --follow prints the last messages, then each one the node pushes,
until Ctrl+C (exit 130). The connection is pinged every half minute; one
that closes, fails or stops answering is opened again, and what was said
meanwhile is read from the history. Each message is printed once, by its
(device, nonce) pair, which the node stores once. With --json, one object
per line. The man page lists it, with an example, and its FILES now names
the device keys kept for the Tier 2 check.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1168,7 +1168,7 @@ which pytest also runs when `ANDROID_HOME` is set (`test_android_shell.py`). | Remote paths, listing, local names | `client/paths.py`, `client/tree.py`, `client/names.py` | `names.UPLOAD_NAME` is copied from the node's `SAFE_UPLOAD_NAME` | | Downloads and uploads | `client/transfers.py`, `client/upload_plan.py` | §5.5; `upload_plan` is shared by `put` and the interactive mode | | Search across groups | `commands/search.py` | `search_listed` honoured before the index is asked; one result per content hash | -| Chat: read and post | `client/chat.py`, `commands/chat.py` | `chatbox` seal/verify; signature before decryption; unreadable shown, never dropped | +| Chat: read and post | `client/chat.py`, `commands/chat.py` | `chatbox` seal/verify; signature before decryption; unreadable shown, never dropped; `--follow` reconnects and prints each message once (`Follower`) | | Chat: whose device signed (Tier 2) | `client/roster.py` | port of `transport-roster.js`, held to it by `test_account_pinning.py`; account pins in `state.json` | | Interactive chat | `tui/chat.py` | `meshbay-cli chat` alone; pushed `chat_msg` live; Esc or /part back to the groups | | Deleting files | `client/remove.py`, `commands/rm.py` | §5.4: the uploader's account or the node's operator; the whole run is checked before asking | |