docs(references): add Chanora relevance, backfill placeholders, cross-reference (TODO-079,080,081,083,084)

Add TeaSpeak-to-Chanora SRS mapping and divergence points.
Backfill YaTQA variable parameters, anti-flood actions, and notify
events with structured placeholders. Add error code cross-reference
between YaTQA and ReSpeak sources.
This commit is contained in:
Edison Jwa
2026-06-11 10:12:35 +09:00
parent 78ecafcc2c
commit 2ab8d5aae2
2 changed files with 303 additions and 18 deletions
@@ -1284,3 +1284,49 @@ Supported commands for individual error results:
- **Archived Website**: https://web.archive.org/web/2024/https://teaspeak.de/
- **Forum** (archived): https://forum.teaspeak.de/
- **Docker Hub**: https://hub.docker.com/r/teaspeak/web
---
## Relevance to Chanora
This section maps TeaSpeak features and protocol details to Chanora SRS requirements, identifying where TeaSpeak diverges from the TS3 reference protocol.
### Feature Mapping to SRS Requirements
| TeaSpeak Feature | Chanora SRS Area | Notes |
|---|---|---|
| OPUS-only codec (since 1.5.0) | SRS-071, SRS-072 (Opus encode/decode) | Simplifies Chanora codec support — no legacy Speex/CELT needed for TeaSpeak servers |
| WebRTC voice bridge | SRS-045 (protocol adapter) | TeaSpeak web clients use WebRTC, not UDP; Chanora uses `tsclientlib` (UDP) — bridge is server-side only |
| Channel tree with hidden/private channels | SRS-020 (channel tree display) | `i_channel_view_power` / `channel_flag_private` controls visibility; Chanora state sync must handle partial visibility |
| Conversation modes (none/public/private) | SRS-024 (text chat) | TeaSpeak channel conversations are persistent; affects chat history expectations |
| Extended ServerQuery notify events | SRS-047 (event translation) | TeaSpeak exposes more events to query clients than TS3 (e.g., music bot events); protocol adapter must handle unknown events gracefully (SRS-060) |
| Music bot system | Out of scope (SRS-010) | Chanora does not host bots; music bot clients appear as normal clients in channel tree |
| Token system redesign (1.5.1+) | SRS-045 (connect flow) | Token length changed from 20→32 chars; token-based group assignment may differ |
| Ban system (global bans, HWID bans, ban editing) | SRS-048 (error handling) | TeaSpeak adds `banedit` command and HWID bans; Chanora must handle unknown ban types gracefully |
| `listfeaturesupport` command | SRS-052 (protocol probe) | TeaSpeak exposes `advanced-channel-chat`, `sidebar-mode`, etc.; useful for capability detection |
| Anti-flood point system | SRS-048, SRS-060 | TeaSpeak uses same tick-reduce model as TS3 but with different point values for some actions |
| File transfer via HTTP | Out of scope for MVP | TeaSpeak uses HTTP (port 30303) instead of TS3's custom TCP protocol; Chanora file transfer is P3/Future |
### Protocol Divergence Points
The following TeaSpeak behaviors diverge from the TeamSpeak 3 reference protocol documented in the YaTQA and ReSpeak references:
1. **Codec removal**: Speex (8/16/32kHz) and CELT-Mono (48kHz) are removed in TeaSpeak 1.5.0+. Chanora's Opus-only strategy (SRS-071/072) aligns, but connecting to older TeaSpeak or TS3 servers may require codec negotiation awareness.
2. **ServerQuery line terminator**: TeaSpeak changed from `\n\r` to `\n` in 1.4.14-beta6. TS3 uses `0x0A 0x0D`. Chanora connects as a voice client (not query), so this does not affect the voice protocol path.
3. **WebRTC vs UDP**: TeaSpeak supports both UDP (native clients) and WebRTC (web clients). Chanora uses `tsclientlib` which implements the UDP voice protocol. The WebRTC bridge is server-side and transparent to native clients.
4. **New commands**: TeaSpeak adds `propertylist`, `listfeaturesupport`, `logquery`, `logadd`, `conversationhistory`, `conversationfetch`, `conversationmessagedelete`, `tokenactionlist`, `tokenedit`, `ftrenamefile`, `ftlist`, `ftstop`. These are ServerQuery-only and do not affect Chanora's voice-client protocol path.
5. **Extended permissions**: TeaSpeak adds music bot permissions, channel view power, conversation mode permissions, video permissions, and channel limit permissions. Unknown permissions must be ignored gracefully (SRS-060).
6. **Video broadcasting**: TeaSpeak supports VP8/H264 video via WebRTC. Chanora does not implement video in MVP (SRS-010 scope constraint). Video streams from other clients should not crash the application (SRS-060).
7. **Conversation system**: TeaSpeak's persistent channel conversations (`conversationhistory`, `conversationfetch`) differ from TS3's simpler text message model. If Chanora connects to a TeaSpeak server, chat history behavior may differ from TS3 expectations.
8. **VPN detection**: TeaSpeak has `b_client_ignore_vpn` permission. Chanora does not control server-side VPN detection but should handle any resulting connection failures gracefully.
9. **Snapshot format differences**: TeaSpeak snapshot version 2 includes music bot data with breaking changes. Not relevant to Chanora client (server-side only).
10. **Error code extensions**: TeaSpeak may return undocumented error codes for its extended features. Chanora's protocol adapter (SRS-048) should map unknown error codes to a generic error category.