From f87db183ea82f6db9de8512998f61bced3546e52 Mon Sep 17 00:00:00 2001 From: Bernd Steckmeister Date: Mon, 6 Jul 2026 12:45:20 +0200 Subject: [PATCH] docs: Haertetest-Stand in PC_TESTPLAN/ROADMAP/PROGRESS - automatisierbarer Teil erledigt - flutter test gruen (29), Session ueber 3 Starts + DB-Migration stabil, E2EE-Empfang belegt, auth_log unauffaellig - Langzeit-Beobachtung laeuft (App entkoppelt gestartet 12:43); Klick-Teile (Senden, Logout/Re-Login, Splits 2-8, Voice-Join) fuer Bernd abgegrenzt --- CHANGES.md | 3 +++ PROGRESS.md | 38 ++++++++++++++++++++++++++++++++++++++ ROADMAP.md | 5 +++++ docs/PC_TESTPLAN.md | 34 +++++++++++++++++++++++++--------- 4 files changed, 71 insertions(+), 9 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 3789843..4c323eb 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1389,3 +1389,6 @@ 2026-07-06 12:41 [Edit] C:\Users\nordm\pyramid - Kopie\docs\M2_MODULE_SCHNITT.md 2026-07-06 12:41 [Edit] C:\Users\nordm\pyramid - Kopie\ROADMAP.md 2026-07-06 12:42 [Edit] C:\Users\nordm\pyramid - Kopie\PROGRESS.md +2026-07-06 12:44 [Edit] C:\Users\nordm\pyramid - Kopie\docs\PC_TESTPLAN.md +2026-07-06 12:44 [Edit] C:\Users\nordm\pyramid - Kopie\ROADMAP.md +2026-07-06 12:45 [Edit] C:\Users\nordm\pyramid - Kopie\PROGRESS.md diff --git a/PROGRESS.md b/PROGRESS.md index eeb4a5f..c89ec5d 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -13,6 +13,44 @@ Schritt (und beim Abbruch mitten im Schritt den Zwischenstand). Format: --- +## 2026-07-06 – Härtetest (PC_TESTPLAN): automatisierbarer Teil erledigt, Klick-Teil vorbereitet, Langzeit-Lauf gestartet + +**Erledigt:** Dritter Auftragspunkt der PC-Session (nach SQLCipher und +Call-Pilot): `docs/PC_TESTPLAN.md` so weit abgearbeitet, wie es ohne +UI-Klicks geht, Ergebnisse dort eingetragen: + +- **Abschnitt 0 ✅:** `flutter test` grün – 29 Tests (24 Bestand + 5 neue + SQLCipher-Tests), mehrfach gelaufen (vor/nach jedem Umbau des Tages). +- **Abschnitt 1 (Teil-Evidenz, dokumentiert):** Bernds Bestands-Session + blieb über drei App-Starts UND die SQLCipher-Migration hinweg eingeloggt; + die App entschlüsselte live to_device-Events von @uta und forwardete + Room-Keys (E2EE-Empfangspfad belegt); `auth_log.txt` schreibt sauber + LoginState-Wechsel mit, keine Soft-Logout-/Fehler-Einträge. +- **Langzeit-Beobachtung GESTARTET:** Die App läuft seit 12:43 vom + Autopilot ENTKOPPELT (Start-Process, überlebt das Session-Ende) – + die NÄCHSTE Session muss `auth_log.txt` (App-Support-Verzeichnis + `%APPDATA%\chat.pyramid\pyramid\`) auf Random-Logout-Einträge seit + 2026-07-06 12:43 prüfen und das Ergebnis im PC_TESTPLAN eintragen. +- **Klar abgegrenzt, was Bernd braucht:** Alles Klick-Interaktive + (Nachricht senden, Logout-Warnung, Re-Login → alte Nachrichten lesbar, + Abschnitte 2–8 der Splits, Voice-Channel-Join) kann der Autopilot nicht + ausführen – im PC_TESTPLAN als Grenze vermerkt. ROADMAP-Härtetest-Punkt + entsprechend NUR annotiert, nicht abgehakt. + +**Offen/Nächster Schritt:** Nächste Session: auth_log-Langzeit-Check (s. o.). +Für Bernd: PC_TESTPLAN Abschnitte 1 (Rest) und 2–8 durchklicken – dabei +deckt „Voice-Channel beitreten/verlassen" (Abschnitt 8) zugleich den +Klick-Test des heutigen M2-Call-Piloten ab. Danach ggf. SQLCipher auf dem +Android-Testgerät (Testplan Punkt 4 in `docs/SQLCIPHER_MIGRATION.md`). + +**Stolperfallen:** Ein per `flutter run` gestarteter Lauf stirbt mit der +Session – für Beobachtungen über das Session-Ende hinaus die gebaute exe +direkt und entkoppelt starten (`Start-Process` auf +`build\windows\x64\runner\Debug\pyramid.exe`); das auth_log persistiert +die Ereignisse für die Folgesession. + +--- + ## 2026-07-06 – M2-Call-Pilot: Module call_signaling + voice_channel mit Fassaden umgesetzt (Entscheidung 2) **Erledigt:** Das erste M2-Umbau-Modul nach `docs/M2_MODULE_SCHNITT.md` diff --git a/ROADMAP.md b/ROADMAP.md index b83565e..ce955f4 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -151,6 +151,11 @@ Punkte abhaken (`[x]`), wenn erledigt UND in `PROGRESS.md` protokolliert. (gehört zum ausstehenden PC-Praxistest der beiden Bugfixes oben; kompletter Ablauf inkl. aller aufgelaufenen UNGETESTET-Punkte steht jetzt in `docs/PC_TESTPLAN.md` – dort abarbeiten und abhaken) + **Teilstand 2026-07-06 (Autopilot, siehe PC_TESTPLAN):** flutter test + grün (29), Session über 3 Starts + DB-Migration stabil eingeloggt, + E2EE-Empfang live belegt, auth_log unauffällig; App läuft seit 12:43 + für die Langzeit-Beobachtung weiter. **Offen (Klick/Bernd):** + Senden, Logout-Warnung, Re-Login mit Lesbarkeits-Check. ## M2 – Das große Refactoring (erst nach M0/M1!) diff --git a/docs/PC_TESTPLAN.md b/docs/PC_TESTPLAN.md index 598ba17..e5393c4 100644 --- a/docs/PC_TESTPLAN.md +++ b/docs/PC_TESTPLAN.md @@ -1,6 +1,7 @@ # PC-Testplan – alle aufgelaufenen UNGETESTET(Pi)-Punkte -Stand: 2026-07-03. Alle Pi-Sessions seit dem 2026-07-03 konnten nur +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 @@ -8,25 +9,40 @@ 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` – die Regressionstests unter `test/` (Soft-Logout-Guard, - Power-Levels-Schutz, AuthLog, Storage-Fassade `settings_prefs` – - Stand 2026-07-03: 24 Tests) müssen grün sein, bevor irgendetwas - anderes geprüft wird. +- [x] `flutter test` – ✅ 2026-07-06: **29 Tests grün** (24 Bestand + 5 neue + SQLCipher-Tests aus `test/app_database_test.dart`), mehrfach gelaufen + (vor/nach SQLCipher-Umbau und nach dem M2-Call-Pilot). ## 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 -- [ ] `auth_log.txt` (App-Support-Verzeichnis) prüfen: LoginState-Wechsel - werden mitgeschrieben, keine unerwarteten Warnungen -- [ ] Logout (Warnung bei fehlendem Key-Backup erscheint? b5762ea) -- [ ] Erneuter Login → **alte verschlüsselte Nachrichten noch lesbar?** + (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) +- [x] `auth_log.txt` (App-Support-Verzeichnis) prüfen: ✅ 2026-07-06 – + LoginState-Wechsel werden mitgeschrieben (je Start `loggedIn`), 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.txt` zeigt ggf. „Soft-Logout durch Token-Refresh abgewendet" + (IN ARBEIT: Autopilot hat die App am 2026-07-06 12:43 entkoppelt + gestartet und laufen lassen – nächste Session bitte `auth_log.txt` + auf Random-Logout-Einträge seit 12:43 prüfen und hier eintragen) - [ ] 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