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:
@@ -30,6 +30,17 @@ cmd | action | example
|
||||
/gleave | leave current group | /gleave
|
||||
/gkick <fp> | kick member (creator only) | /gkick abc123
|
||||
/gmembers | list group members + status | /gmembers
|
||||
/call | start voice call with current peer | /call
|
||||
/call <addr> | start voice call with specific peer | /call @alice
|
||||
/accept | accept incoming call | /accept
|
||||
/reject | reject incoming call | /reject
|
||||
/hangup | end current call | /hangup
|
||||
/gcall | start group voice call in current group | /gcall
|
||||
/gjoin | join active group call | /gjoin
|
||||
/gleave-call | leave group call (stay in group) | /gleave-call
|
||||
/gmute | toggle mute in group call | /gmute
|
||||
/admin-calls | list active calls on server (admin) | /admin-calls
|
||||
/admin-help | show admin commands (admin) | /admin-help
|
||||
/file <path> | send file (max 10MB, 64KB chunks) | /file ./doc.pdf
|
||||
/quit, /q | exit | /q
|
||||
|
||||
@@ -229,6 +240,46 @@ cmd | action | example
|
||||
/reject | reject incoming call | /reject
|
||||
/hangup | end current call | /hangup
|
||||
|
||||
### Relay Config Flow
|
||||
|
||||
1. Client calls `GET /v1/wzp/relay-config` with bearer token
|
||||
2. Server validates auth, issues a short-lived WZP token
|
||||
3. Response: `{"relay_addr":"host:port","token":"..."}`
|
||||
4. Client opens WebSocket to `ws://relay_addr` with the WZP token
|
||||
5. Audio frames flow over the WebSocket via the wzp-web bridge
|
||||
|
||||
### Ring Tones
|
||||
|
||||
Ring tones play automatically using the Web Audio API (oscillator-based, no audio files):
|
||||
- **Outgoing call**: caller hears a ringback tone (repeating double beep) while waiting for answer
|
||||
- **Incoming call**: callee hears a ringing tone (classic ring pattern) until they accept/reject
|
||||
- Both tones stop immediately on answer, reject, or hangup
|
||||
- TUI clients receive a terminal bell on incoming call (no audio playback)
|
||||
|
||||
### Group Calls
|
||||
|
||||
Group voice calls use the same WZP relay infrastructure but with room-based routing:
|
||||
|
||||
```
|
||||
Members A,B,C <--WS--> wzp-web <--QUIC--> wzp-relay (room: group:<group_name>)
|
||||
```
|
||||
|
||||
- `/gcall` signals all group members via the group signal endpoint (`POST /v1/groups/:name/signal`)
|
||||
- Room name format: `group:<group_name>` (e.g., `group:ops`)
|
||||
- Any member can `/gjoin` an active group call
|
||||
- `/gleave-call` leaves the audio room but stays in the text group
|
||||
- `/gmute` toggles local mic mute (no server-side mixing)
|
||||
- Group calls are transport-encrypted only; MLS (RFC 9420) E2E planned
|
||||
|
||||
### Admin Commands
|
||||
|
||||
cmd | action | example
|
||||
--- | --- | ---
|
||||
/admin-calls | show all active calls on the server | /admin-calls
|
||||
/admin-help | list available admin commands | /admin-help
|
||||
|
||||
Admin commands require server-side admin privilege (configured per-fingerprint).
|
||||
|
||||
## Server API (other endpoints)
|
||||
|
||||
- POST /v1/register -- upload prekey bundle
|
||||
|
||||
Reference in New Issue
Block a user