refactor: M2-Call-Pilot – Module call_signaling + voice_channel mit Fassaden (Entscheidung 2)
- CallSignalingService/callSignalingProvider und VoiceChannelService/ voiceChannelProvider als einzige oeffentliche Schnittstellen - voip_manager.dart / livekit_call_manager.dart in ihre Module verschoben, Logik unangetastet (nur Klassen-Koepfe, @override, Imports, Provider-Namen) - Alle Konsumenten entkoppelt; Kompositions-Punkt matrix_client.dart als dokumentierte Ausnahme. analyze sauber, 29 Tests gruen, Windows-Start ok. Call-Klick-/Geraetetest steht aus (PROGRESS.md)
This commit is contained in:
@@ -1,5 +1,21 @@
|
||||
# M2 – Modul-Schnitt (Entwurf)
|
||||
|
||||
> **STATUS 2026-07-06: Pilot (Schritt 1) UMGESETZT.** Die Module
|
||||
> `call_signaling` (`lib/features/call_signaling/`: `CallSignalingService`
|
||||
> + `callSignalingProvider` + Implementierung `voip_manager.dart`) und
|
||||
> `voice_channel` (`lib/features/voice_channel/`: `VoiceChannelService` +
|
||||
> `voiceChannelProvider` + Implementierung `livekit_call_manager.dart`)
|
||||
> existieren; ALLE Konsumenten (Shell, Call-UI, Rooms-Panel, Chat-Header,
|
||||
> Settings) gehen nur noch über die Provider/Interfaces, kein direkter
|
||||
> Implementierungs-Import mehr (einzige dokumentierte Ausnahme:
|
||||
> Kompositions-Punkt `matrix_client.dart`). Bewusste Abweichungen vom
|
||||
> Entwurf unten (Verhaltensgleichheit vor Schönheit, heiliger Call-Pfad):
|
||||
> ChangeNotifier statt Streams, Methodennamen wie im Bestand
|
||||
> (`startCall`/`hangUp` statt `join`/`leave`), `CallSession`/LiveKit-`Room`
|
||||
> bleiben in den Schnittstellen sichtbar, weil die UI direkt rendert.
|
||||
> Echter Call-/Voice-Channel-Test steht aus (Gerät bzw. Klick-Test) –
|
||||
> siehe PROGRESS.md 2026-07-06. Schritte 2–5 unten sind weiter offen.
|
||||
|
||||
Stand: 2026-07-03. Reine Schnittstellen-Planung, noch kein Umbau. Grundlage:
|
||||
Ist-Analyse in `PROGRESS.md` (Eintrag „M2: Ist-Analyse der Architektur
|
||||
geschrieben"). Leitprinzip (Bernd, `CLAUDE.md`): jedes Modul muss sich in
|
||||
|
||||
Reference in New Issue
Block a user