You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reading or replying to a conversation implies you have seen it, so:
- 'chat read' and 'chat listen' now mark the conversation read
automatically — up to the newest event, which the backend treats as a
watermark that also marks every earlier message read. 'listen'
advances the watermark as new messages arrive.
- 'chat send' marks the conversation read after sending and sends a
typing indicator before, mirroring how a person composes.
All are best-effort writes (a failure warns, never aborts the read or
send) and opt-out via --no-mark-read / --no-typing for lurking or
scripting. The standalone 'mark-read' and 'typing' commands remain for
explicit/scripted use.
- Messages whose authorship signature cannot be verified are rejected by default and surface as stderr decrypt warnings; unsigned messages that still render carry a red `[unverified]` marker — treat those with suspicion.
296
296
- Messages with attachments render a `📎 attachment <media_hash_key>` marker; pass that hash key to `xurl chat download CONV <media_hash_key>` to fetch and decrypt the file. Replies show a `↩` prefix.
297
+
-**`read` and `listen` mark the conversation read automatically** (a read receipt visible to other participants); `send` also marks read and sends a typing indicator first. These are writes — pass `--no-mark-read` / `--no-typing` to suppress them (e.g. to read without signaling). The standalone `mark-read` and `typing` commands remain for scripted/explicit use.
297
298
- Decrypt warnings for individual events go to stderr and are non-fatal; the rest of the conversation still renders.
298
299
- If a command reports missing keys, do not attempt to generate or register any — tell the user to run `xurl chat keys restore` (or `import`) themselves.
299
300
-`chat rotate` is a write visible to every participant's clients; never run it without explicit user intent, and prefer letting the user confirm the prompt over passing `--yes`.
0 commit comments