docs: M2-Teilschritte call_ui-Modul + VoicePrefs-Fassade protokolliert, ROADMAP/Schnitt-Doc nachgezogen

This commit is contained in:
Bernd Steckmeister
2026-07-06 17:10:37 +02:00
parent d22f9c2961
commit b131f56b72
4 changed files with 68 additions and 3 deletions
+3
View File
@@ -1410,3 +1410,6 @@
2026-07-06 17:06 [Edit] C:\Users\nordm\pyramid - Kopie\lib\widgets\settings\settings_voice.dart
2026-07-06 17:06 [Edit] C:\Users\nordm\pyramid - Kopie\lib\widgets\settings\settings_voice.dart
2026-07-06 17:06 [Edit] C:\Users\nordm\pyramid - Kopie\lib\widgets\settings_modal.dart
2026-07-06 17:10 [Edit] C:\Users\nordm\pyramid - Kopie\ROADMAP.md
2026-07-06 17:10 [Edit] C:\Users\nordm\pyramid - Kopie\docs\M2_MODULE_SCHNITT.md
2026-07-06 17:10 [Edit] C:\Users\nordm\pyramid - Kopie\PROGRESS.md
+44
View File
@@ -13,6 +13,50 @@ Schritt (und beim Abbruch mitten im Schritt den Zwischenstand). Format:
---
## 2026-07-06 M2-Call-Schicht, zwei weitere Teilschritte: call_ui-Modul + VoicePrefs-Fassade (verhaltensgleich)
**Erledigt:** Nach dem auth_log-Check die zwei risikoärmsten der offenen
inneren Aufräumarbeiten der Call-Schicht (ROADMAP „Call-Schicht
entwirren", `docs/M2_MODULE_SCHNITT.md`):
- **`call_ui` als Modul (b2335da):** `lib/features/call/`
`lib/features/call_ui/` (git mv, 100 % rename), Importe in den einzigen
zwei Verwendern (`rooms_panel.dart`, `app_shell.dart`) angepasst. Die
beiden UI-Dateien konsumierten seit dem Pilot schon ausschließlich die
Service-Interfaces damit ist Pilot-Schritt 1 aus dem Schnitt-Doc
(call_signaling + voice_channel + call_ui) strukturell komplett.
- **VoicePrefs-Fassade (d22f9c2):** Die 4 voice_*-Prefs (Mikro/Kamera/
Lautsprecher-Gerät, Ausgabelautstärke) laufen jetzt über eine neue
`VoicePrefs`-Kapsel in `core/settings_prefs.dart` vorher griffen
`voip_manager.dart` (2 Stellen), `livekit_call_manager.dart` und
`settings_voice.dart` direkt auf SharedPreferences zu (die im
Schnitt-Doc Punkt 6 genannten Stellen). Keys und Semantik (null/leer =
Pref löschen, Fallback-Lautstärke 1.0) exakt beibehalten; der
shared_preferences-Import ist aus settings_modal.dart, beiden Managern
und damit aus der ganzen Call-Schicht verschwunden.
- **Geprüft:** `flutter analyze` sauber (nur bekannter onUpdate-Hinweis),
29 Tests grün, `flutter build windows --debug` + App-Start: Login/Sync
laufen (auth_log 17:08:57 `loggedIn`, keine Migration, kein Fehler).
App läuft seit 17:08 wieder ENTKOPPELT als Langzeit-Beobachtung jetzt
mit dem NEUEN Code.
- **Bewusst zurückgestellt:** „UI-State aus den Managern herauslösen"
das wäre ein echter Logik-Umbau auf dem heiligen Call-Pfad, während
Bernds Klick-Test des Piloten (PC_TESTPLAN Abschnitt 8) noch aussteht.
Kein zweiter ungetesteter Umbau obendrauf; steht als Nächstes an, SOBALD
der Klick-Test grün ist.
**Offen/Nächster Schritt:** auth_log-Check (Einträge seit 2026-07-06
17:08) in der nächsten Session bzw. vor Session-Ende. Danach ist auf dem
PC ohne Bernds Klick-Tests nichts Risikoarmes mehr offen: M2-Schritt 2
(settings_modal weiter aufsplitten) wäre der nächste Kandidat.
**Stolperfallen:** Nach dem Umstellen einer part-Datei (settings_voice)
den dann ungenutzten Import (shared_preferences) beim OWNER
(settings_modal.dart) entfernen analyze meldet ihn sonst als unused,
und die Fundstelle ist nicht die geänderte Datei.
---
## 2026-07-06 Langzeit-Check auth_log: 12:43-Lauf endete früh (kein Logout im Fenster), Beobachtung 16:57 neu gestartet
**Erledigt:** Der von der Vorsession hinterlassene Pflicht-Check
+10 -3
View File
@@ -186,9 +186,16 @@ lassen, ohne dass andere Module angefasst werden müssen.
Implementierungen mehr (Details/Abweichungen: Status-Kopf in
`docs/M2_MODULE_SCHNITT.md`). App startet, 29 Tests grün, Sync/E2EE
laufen. **UNGETESTET:** echter 1:1-Call und Voice-Channel-Join per
Klick (braucht Gerät bzw. interaktiven Test) deshalb nicht abgehakt;
außerdem stehen die inneren Aufräumarbeiten (UI-State aus den Managern
heraus, `call_ui`-Modul) noch aus.
Klick (braucht Gerät bzw. interaktiven Test) deshalb nicht abgehakt.
**Weitere Teilschritte erledigt (2026-07-06, zweite PC-Session):**
`call_ui` ist jetzt ein eigenes Modul (`lib/features/call_ui/`,
b2335da) und die voice_*-Prefs laufen über die `VoicePrefs`-Fassade
in `core/settings_prefs.dart` statt direktem SharedPreferences-Zugriff
(d22f9c2) beides verhaltensgleich, analyze/Tests grün, App-Start
geprüft. **Bewusst zurückgestellt bis Bernds Klick-Test des Piloten
(PC_TESTPLAN Abschnitt 8) grün ist:** UI-State aus den Managern
herauslösen kein zweiter ungetesteter Logik-Umbau auf dem heiligen
Call-Pfad.
- [ ] Einheitliches State-Management (Riverpod konsequent, keine Misch-Patterns)
- [x] Toten Code & Duplikate entfernen, Ordnerstruktur vereinheitlichen
(PROGRESS.md 2026-07-03: `message_bubble.dart` tot entfernt, doppelte
+11
View File
@@ -15,6 +15,17 @@
> 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 25 unten sind weiter offen.
>
> **Nachtrag 2026-07-06 (zweite PC-Session):** `call_ui` ist jetzt ein
> eigenes Modul (`lib/features/call_ui/`, reine Umbenennung von
> `features/call/`; konsumiert weiterhin nur die zwei Service-Interfaces).
> Außerdem ist der storage-Teilschritt für die Call-Module erledigt: die
> voice_*-Prefs (Geräte + Ausgabelautstärke) laufen über die neue
> `VoicePrefs`-Kapsel in `core/settings_prefs.dart` (Punkt 6 unten)
> kein direkter SharedPreferences-Zugriff mehr in `voip_manager.dart`/
> `livekit_call_manager.dart`/`settings_voice.dart`, Keys unverändert.
> „UI-State aus den Managern herauslösen" wartet bewusst auf Bernds
> Klick-Test des Piloten (heiliger Call-Pfad).
Stand: 2026-07-03. Reine Schnittstellen-Planung, noch kein Umbau. Grundlage:
Ist-Analyse in `PROGRESS.md` (Eintrag „M2: Ist-Analyse der Architektur