Bernds Wunsch 2026-10-08: UI grundsätzlich prüfen (Navigation, Sackgassen,
Anruf-Logik). Audit + Konzept in docs/UI_AUDIT.md, belegt mit neuer
Screenshot-Tour integration_test/ui_audit_tour_test.dart (35 Zustände,
Handy + PC, zwei Testkonten, Test-Space mit Sprachkanal).
Sofort behoben:
- S1/S2: Gegenseite legt auf / Anruf scheitert / Sprachkanal bricht ab →
automatisch zurück zum Chat mit Hinweis (Fehler sichtbar statt still);
leere Anrufansicht deutsch mit Zurück-Knopf (vorher englische Sackgasse
ohne Zurück am Handy).
- S4: toter „Threads“-Knopf entfernt. S5: Space betreten (PC) öffnet
letzten bzw. ersten Textkanal. S6: keine doppelte Anrufsteuerung am PC.
- Annehmen-Fenster mit Anrufer-Avatar und Anrufart; eigene Kachel mit
eigenem Initial statt „D“; Mitgliederliste rund mit Profilbild und „(Du)“;
Tastaturkürzel nur am PC; englische Texte in Anruf/Leerzuständen deutsch.
- Tests: Fehlerempfänger des Testrahmens nach app.main() zurück (vorher
verschwanden Fehlermeldungen), Lesebestätigungs-Test im Wegwerf-Raum statt
in der DM, robustere Schritte; test.ps1 räumt liegengebliebene
Test-Prozesse weg; gemeinsame Hilfen integration_test/support/.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Handy: Chat gleitet federnd über die Chatliste (Liste bleibt aufgebaut,
Scrollposition erhalten), beim Zurück wieder hinaus; Liste schon während
des Hinausgleitens bedienbar. Mitgliederleiste gleitet herein.
- Neue/gesendete Nachrichten ploppen weich auf (nur live, nicht beim Öffnen
oder Nachladen), Reaktionen ploppen auf und hüpfen beim Hochzählen,
Ungelesen-Zähler hüpft, Scroll-nach-unten-Knopf federt (Handy größer),
Antwort-Leiste klappt federnd auf/zu, Senden-Pfeil ploppt, Vollansicht
zoomt auf. Alles skaliert mit Einstellung „Animationen“ (0 % = aus).
- Fix: Beim Raumwechsel blieben Antwort-Ziel, Auswahl und getippter Text am
neuen Raum hängen (Antwort auf Raum A konnte in Raum B rausgehen). Jetzt
eigenes Eingabefeld je Raum mit Entwurf im Speicher.
- Antwort-Leiste: größeres Schließen-X auf dem Handy.
- Tests: test/spring_motion_test.dart, UI-Durchlauf mit Übergängen.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- rooms_mobile_tile.dart: auf dem Handy grosser Avatar, Name + Uhrzeit der
letzten Nachricht, Vorschau (gleiche Texte wie Push: Medien-Labels,
Antwort-Zitat entfernt; "Du:" bzw. Absender in Gruppen), Ungelesen-Zaehler.
PC behaelt die kompakte Liste, Voice-Kanaele ihre Darstellung.
- utils/date_labels.dart: chatListTime (heute Uhrzeit, Gestern, Wochentag,
Datum; sicher an Zeitumstellungs-Tagen) + 5 Tests.
- Sichtbare englische Texte eingedeutscht (Chats durchsuchen,
Direktnachrichten, Raeume, Nachricht..., Mitglieder, Suchen, ...).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- 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)
6 Wochen uncommittete Arbeit (Voice-Channels, LiveKit-Manager, Settings-Modal u.v.m.)
als ein WIP-Commit gesichert, damit nichts verloren geht und der Pi den aktuellen
Stand klonen kann. Thematische Aufarbeitung: siehe ROADMAP M0.
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01CPrAGBxBT6GfPXzeWQ4AXb