summaryrefslogtreecommitdiffstats
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-15 02:22:05 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-15 02:22:05 +0200
commitadda9613fad48a68239e2dbd93321818a835c286 (patch)
tree8835fd2ac3e203d3f3110bc45617c79eb982cd0d /CLAUDE.md
parent419af660eeb8a4403e37a63c54a15586d04d5a8e (diff)
downloadmeshbay-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.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 350e22c..57ebbd4 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -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 |