docs: comprehensive update all docs to v0.0.46
11 files updated to reflect current state (v0.0.22 → v0.0.46): ARCHITECTURE.md: - Ring tones, group calls, read receipts, markdown rendering sections - Bot API expanded (BotFather, numeric IDs, Telegram compat) - Admin commands, known issues, 155 tests TASK_PLAN.md: - All P1-P4 marked DONE with version numbers - Additional completed work section (bots, ETH, ring tones, group calls) - New FC-P7 (Voice & Transport): cpal, Sender Keys, WebTransport - FC-P6-T9/T10 added PROGRESS.md: - Full version history table v0.0.22 through v0.0.46 - Known issues section README.md: - Voice calls, ring tones, group calls, read receipts, markdown, 155 tests SECURITY.md: - Bot API security, voice call security, admin commands sections - Updated protection tables USAGE.md: - Group calls, read receipts, markdown formatting, admin commands CLIENT.md: - Call commands, read receipts, markdown rendering LLM_HELP.md + LLM_BOT_DEV.md: - Call/group call/admin commands, ring tones, per-bot numeric IDs TESTING_E2E.md: - Tests 16-18: ring tones, group calls, admin commands CLAUDE.md: - Ring tone notes, group signal endpoint, MLS roadmap Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Warzone Client -- Operation Guide
|
||||
|
||||
**Version:** 0.0.21
|
||||
**Version:** 0.0.46
|
||||
|
||||
---
|
||||
|
||||
@@ -289,6 +289,48 @@ When decryption fails on an incoming message, the TUI automatically:
|
||||
The next incoming `KeyExchange` from that peer will create a fresh session
|
||||
without manual intervention.
|
||||
|
||||
### Voice Calls
|
||||
|
||||
The TUI supports DM and group call commands:
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/call [peer]` | Initiate a voice call with the current or specified peer |
|
||||
| `/accept` | Accept an incoming call |
|
||||
| `/reject` | Reject an incoming call |
|
||||
| `/hangup` | End the current call |
|
||||
|
||||
**Call state display:** The TUI header bar shows call status with color coding:
|
||||
|
||||
- **Yellow "CALLING..."** — outgoing call ringing, waiting for peer to accept
|
||||
- **Green "IN CALL" + timer** — active call with elapsed duration (MM:SS)
|
||||
- No indicator when idle
|
||||
|
||||
**Note:** TUI audio requires the web client. When a call is active in the TUI, a hint is displayed directing the user to open the web client for actual audio. The TUI handles signaling (offer/answer/ICE) but does not capture or play audio.
|
||||
|
||||
### Read Receipts
|
||||
|
||||
Read receipts track message delivery through three states: sent, delivered, and read.
|
||||
|
||||
- **Sender fingerprint tracking:** Each outgoing message records the sender's fingerprint so the system can match incoming receipts to the correct message.
|
||||
- **Dedup set:** A per-conversation set prevents sending duplicate read receipts for the same message. Once a read receipt is sent for a message ID, it is not sent again.
|
||||
- **Viewport-based:** Read receipts are triggered when a message scrolls into the visible area of the chat. Messages that are never scrolled into view do not generate read receipts.
|
||||
|
||||
### Markdown Rendering
|
||||
|
||||
Messages support inline markdown formatting via the `md_to_spans` function, which converts markdown syntax into ratatui `Span` elements with appropriate styling:
|
||||
|
||||
| Syntax | TUI Rendering |
|
||||
|--------|---------------|
|
||||
| `**bold**` | Bold attribute |
|
||||
| `*italic*` | Italic attribute |
|
||||
| `` `code` `` | Dark gray background, monospace feel |
|
||||
| `# Header` | Bold + uppercase (line start only) |
|
||||
| `> quote` | Italic + gray foreground (line start only) |
|
||||
| `- list item` | Bullet prefix (line start only) |
|
||||
|
||||
Markdown is parsed per-message at render time. The web client renders the same syntax as HTML elements.
|
||||
|
||||
---
|
||||
|
||||
## 5. Full Command Reference
|
||||
|
||||
Reference in New Issue
Block a user