niom-webrtc/docs/index.md

23 lines
1.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`](architecture/signaling_flow.md) High-Level-Ablauf von Signaling, WebRTC und TURN.
- [`config/config_management.md`](config/config_management.md) Konfigurationen und Defaults (STUN/TURN, Appsettings).
- [`components/`](components/) UI-Komponenten (Discord-Voice-Channel UI) inkl. Zustandsfluss.
- [`voice_channel_layout.md`](components/voice_channel_layout.md)
- [`utils/media_manager.md`](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.
- Testbarkeit im Browser (WASM) und auf CLI-Ebene.
## Offene ToDos (Stand 02.11.2025)
1. WebRTC-/Signaling-Logik 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.
2. TURN-Infrastruktur produktionsreif aufsetzen (Zertifikate, Auth, Monitoring) und E2E-Tests (Peer↔Peer via TURN) ergänzen.
3. UI modularisieren: Geräte-Setup, Fehlerbanner, Status-Badges, Vorbereitung auf Video-/Screen-Sharing-Tiles.
4. Signaling-Server erweitern (Raum-/Teilnehmermodell, AuthZ, robustes Error-Handling) und Schnittstellen dokumentieren.
5. CI-Pipeline mit `fmt`/`clippy`/Tests, Smoke-Tests (Web + CLI) und Playwright-Szenarien für Browserflows anlegen.