diff --git a/CHANGES.md b/CHANGES.md index 1f7f3a0..9539f8a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -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 diff --git a/PROGRESS.md b/PROGRESS.md index 2469b04..beb1455 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -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 diff --git a/ROADMAP.md b/ROADMAP.md index ce955f4..5bc160f 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -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 diff --git a/docs/M2_MODULE_SCHNITT.md b/docs/M2_MODULE_SCHNITT.md index a79ca5b..4ee0f3d 100644 --- a/docs/M2_MODULE_SCHNITT.md +++ b/docs/M2_MODULE_SCHNITT.md @@ -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 2–5 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