2.1 KiB
2.1 KiB
niom-webrtc Voice Channel Module Docs
Diese Dokumentationssammlung beschreibt das MVP-Modul "Voice Channel" im Projekt niom-webrtc. Die Struktur spiegelt die wichtigsten Programmkomponenten wider und soll als Einstieg für neue Sessions dienen.
architecture/signaling_flow.md– High-Level-Ablauf von Signaling, WebRTC und TURN.config/config_management.md– Konfigurationen und Defaults (STUN/TURN, Appsettings).components/– UI-Komponenten (Discord-Voice-Channel UI) inkl. Zustandsfluss.utils/media_manager.md– Medien- und Peer-Connection-Helfer.
Aktueller Fokus
- Discord-Voice-Channel UI als reines Modul ohne restliche App-Shell.
- Saubere Trennung von Initiator/Responder-Logik.
- Automatisches WebSocket-Reconnect mit exponentiellem Backoff (Stand 03.11.2025).
- Testbarkeit im Browser (WASM) und auf CLI-Ebene.
Offene ToDos (Stand 03.11.2025)
- UI-Feedback für Reconnect-Zustand verbessern (Versuchs-/Countdown-Anzeige, Fehlerbanner konsolidieren).
- WebRTC-/Signaling-Logik weiter aus Komponenten in dedizierte Hooks/Services auslagern (z. B.
use_signaling,use_peer_connection) und globalen State für Teilnehmer & Sessions einführen.- Ziel: UI-Komponenten konsumieren nur noch lesende Signale & Events, Logik wird separat testbar.
- TURN-Infrastruktur produktionsreif aufsetzen (Zertifikate, Auth, Monitoring) und E2E-Tests (Peer↔Peer via TURN) ergänzen.
- UI modularisieren: Geräte-Setup, Fehlerbanner, Status-Badges, Vorbereitung auf Video-/Screen-Sharing-Tiles.
- Signaling-Server erweitern (Raum-/Teilnehmermodell, AuthZ, robustes Error-Handling) und Schnittstellen dokumentieren.
- CI-Pipeline mit
fmt/clippy/Tests, Smoke-Tests (Web + CLI) und Playwright-Szenarien für Browserflows anlegen.
Changelog 03.11.2025
- Signaling-Service verbindet nach Verbindungsfehlern automatisch mit exponentiellem Backoff (
TimeoutFuture). ErrorActions-Helper in UI integriert, um Fehlerzustände zentral zu setzen/zu löschen.