Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7.7 KiB
PC-Testplan – alle aufgelaufenen UNGETESTET(Pi)-Punkte
Stand: 2026-07-03; Autopilot-Ergebnisse vom 2026-07-06 eingetragen.
Alle Pi-Sessions seit dem 2026-07-03 konnten nur
flutter analyze + automatisierte Textvergleiche fahren (kein GUI auf dem Pi).
Dieser Plan konsolidiert JEDEN ausstehenden Praxistest aus PROGRESS.md an einer
Stelle. Beim nächsten Windows-Lauf von oben nach unten abarbeiten, Ergebnis je
Punkt hier eintragen (✅/❌ + Datum), Befunde als eigene PROGRESS-Einträge.
Schnellster Weg: flutter run -d windows.
Grenze des Autopilot-Laufs 2026-07-06: Der Autopilot kann bauen, testen und die App starten/beenden, aber NICHT in der UI klicken. Alles Klick-Interaktive (Abschnitte 2–8, Logout/Re-Login in Abschnitt 1) braucht Bernd am PC – die App-Starts heute liefen mit Bernds bestehender Session.
0. Vorab (1 Minute)
flutter test– ✅ 2026-07-06: 32 Tests grün (24 Bestand + 5 neue SQLCipher-Tests austest/app_database_test.dart+ 3 neue VoicePrefs-Vertragstests intest/settings_prefs_test.dart), mehrfach gelaufen (vor/nach jedem Umbau des Tages).
1. Härtetest Login/Krypto (M1 – PFLICHT, zuerst!)
Deckt die Fixes 63e4919, 9dc83f7, 891f348 ab (Uta-Random-Logout + Guard).
Seit 2026-07-06 zusätzlich relevant: SQLCipher-Migration ist auf diesem PC
gelaufen – die lokale DB ist jetzt verschlüsselt (PROGRESS.md 2026-07-06).
- Login mit Test-Account → Nachrichten in verschlüsseltem Raum senden/lesen (Teil-Evidenz ✅ 2026-07-06: Bestands-Session blieb über 3 App-Starts und die DB-Migration hinweg eingeloggt; App hat live to_device-Events von @uta entschlüsselt und Room-Keys forwardet → Lesen/E2EE belegt. Aktives SENDEN + frischer Login noch offen → Klick-Test Bernd)
auth_log.txt(App-Support-Verzeichnis) prüfen: ✅ 2026-07-06 – LoginState-Wechsel werden mitgeschrieben (je StartloggedIn), dazu der DB-Migrations-Eintrag; keine unerwarteten Warnungen, kein Soft-Logout-Eintrag.- Logout (Warnung bei fehlendem Key-Backup erscheint?
b5762ea) – Klick-Test - Erneuter Login → alte verschlüsselte Nachrichten noch lesbar? – Klick-Test
- Mehrere Stunden laufen lassen: kein Random-Logout, kein
Login-Screen-Flackern (isLoggedInProvider-Änderung),
auth_log.txtzeigt ggf. „Soft-Logout durch Token-Refresh abgewendet" (IN ARBEIT – Zwischenstand 2026-07-06 16:57: Der 12:43-Lauf endete schon ~13:03 (letzter DB-Write; keine Absturzspur in Event-Log/WER, kein Logout-Eintrag – vermutlich Fenster geschlossen). Im 20-min- Fenster KEIN Random-Logout. Session überlebte danach den 4. Start mit verschlüsselter DB (auth_log 16:57:46loggedIn, keine erneute Migration). Danach zwei geplante Neustarts für die Refactoring- Praxistests (17:08 VoicePrefs/call_ui, 17:14 voice_channel-Split), jeweils saubererloggedIn, die Fenster dazwischen ohne Auffälligkeit (16:57–17:08 ≈ 50 min sauber). Check 17:37 (dritte PC-Session): Fenster 17:14–17:42 sauber – kein Logout-/Fehler-Eintrag, DB-Writes liefen durchgehend; Lauf um 17:42 vom Autopilot beendet (Rebuild für den settings_encryption-Split). Beobachtung läuft seit 17:43 mit dem aktuellen Code (auth_log 17:43:14loggedIn, keine Migration). Check 18:19 (vierte PC-Session), Fenster 17:43–18:19: kein Logout, und obendrauf der bisher wertvollste Positiv-Befund – ein ECHTER Netzausfall 18:09:57–18:16:39 (~7 min, „Client has not connection to the server" alle 3 s im auth_log) wurde sauber überstanden: kein Logout, keine Eskalation, Sync erholte sich von selbst (WAL-Write 18:18:13 nach der letzten Fehlerzeile). Genau der Fehlerpfad, den die Fixes 63e4919/9dc83f7/891f348 absichern sollen. Beobachtung läuft weiter; erst nach einem echten Mehr-Stunden-Fenster abhaken. Kumulativ heute: 12:26–18:19 über 7 Starts ohne einen einzigen Random-Logout) - Ergebnis als „Härtetest"-Eintrag in PROGRESS.md dokumentieren (= ROADMAP-M1-Punkt „Härtetest dokumentieren" abhaken)
- Android: nach Neu-Login beobachten, ob Push-Inhalte wieder echt
entschlüsselt ankommen (statt „Neue Nachricht"-Platzhalter). Falls nicht:
zweite Ursache, siehe
docs/NOTIFICATIONS.md+ Memory „Pyramid Push" - Danach Uta: einmal aus- und wieder einloggen (erst dann hat ihre Session einen Refresh-Token!)
2. Settings-Split (5d77238, 12 Teildateien)
Alle Reiter öffnen und benutzen: Profil, Benachrichtigungen, Erscheinungsbild, Voice, Tastaturkürzel, Privatsphäre, Sessions, Verschlüsselung, Account, Über.
- Verschlüsselung (HEILIG): Recovery-Key anzeigen, Megolm-Export UND -Import (Passphrase), SAS/QR-Verifizierung starten
- Sessions: Gerät umbenennen, Einzel-Logout, Massen-Logout-Dialog (Passwort-Reauth) nur bis zur Abfrage
- Account: Passwort-ändern-Dialog öffnen, Account-löschen-Dialog öffnen (NICHT bestätigen)
- Logout-Warnungs-Text bei fehlendem Backup sichtbar (settings_about/shared)
3. Chat-Timeline-Split (5bf45a9) + tote-Code-Bereinigung (6400fb6)
Einen Chat mit allen Nachrichtentypen durchgehen:
- Text mit Link-Vorschau, Bild, Video, Audio, Datei-Anhang
- Download-/Entschlüsselungs-Fehlerpfade in
message_media.dartgezielt ansehen (am wenigsten geprüfter Teil) - Reaktionen setzen/entfernen, Hover-Aktionsleiste, Antworten/Zitat
- Datums-Trenner, „Neue Nachrichten"-Divider
- Gescheiterte Nachricht: bleibt mit Retry/Löschen stehen, Retry geht
- Zeitanzeige bei aufeinanderfolgenden Nachrichten + Hover-Uhrzeit bei
Fortsetzungsnachrichten (
_formatMessageTime-Zusammenführung)
4. Raumlisten-Split (a863fa3) + Reorder-Fix (401bd6a)
- Space wechseln, Raum beitreten/verlassen
- Drag&Drop-Umsortieren: landet der Raum EXAKT an der Zielposition? (onReorder→onReorderItem, Index-Korrektur jetzt im Framework – Off-by-One wäre hier sichtbar; nach oben UND nach unten ziehen testen)
- Voice-Channel-Teilnehmerliste in der Raumliste
- Einladung annehmen/ablehnen, Ungelesen-Badge, DM-Avatare
5. Space-Admin-Split (0c7d359)
An einem TEST-Space, nicht an Utas echtem:
- Übersicht: Sichtbarkeit umschalten, Banner ändern (Danger-Zone nur ansehen)
- Mitglieder: einladen, Rolle ändern (Selbst-Aussperr-Schutz
updatePowerLevelsSafelygreift?), kicken - Berechtigungen ändern, Kanäle: erstellen + bestehenden Raum hinzufügen
6. Chat-View-Split (31e4001)
- Chat-Header (normal + DM mit ausklappendem Header/Presence)
- Tippanzeige, Offline-/Reconnect-Banner (Netz kurz trennen)
- Datei per Drag&Drop in den Chat ziehen (Overlay + Senden)
7. Dokument-Viewer-Split (daf4cf3) + Matrix4-Fix (401bd6a)
- PDF inline im Chat, Vollbild-Viewer: Zoom per Buttons/Strg+Mausrad (translateByDouble/scaleByDouble-Umbau – zoomt es zentriert wie vorher?), Seiten-Navigation, Thumbnail-Leiste, Speichern-Button
- Text/Markdown/SVG-Vorschau, Office-Text-Extraktion
- ZIP/TAR-Archiv-Browser, PSD-Thumbnail
- Bild im Chat öffnen (Fallback-Pfade)
8. Kleinkram aus den Lint-Commits
- Mini-Call-Widget: Buttons zeigen jetzt Hover-Farbe (
9dc1175, gewollt) – sieht das ok aus? - Anhang-Dialog + Raum-erstellen-Dialog: Switches (activeThumbColor) sehen aus wie vorher
- Voice-Channel beitreten/verlassen (Kernflow laut CLAUDE.md, von den Splits nicht berührt, aber Pflicht nach jedem Refactoring)
Danach
- Alle ✅ hier eintragen, PROGRESS.md-Eintrag „PC-Praxistest" schreiben,
erst DANN neue riskante Punkte anfangen (Call-Fassade, SQLCipher –
siehe
docs/SQLCIPHER_MIGRATION.md)