Commit Graph
3 Commits
Author SHA1 Message Date
Bernd SteckmeisterandClaude Opus 5.5 e90b954348 fix: Abmelden ohne verspaetete Sync-Antwort (SDK-Wettlauf) + Live-Regressionstest
logoutWithoutStraySync (lib/core/session_logout.dart): Sync-Schleife
anhalten, laufenden Long-Poll per Account-Daten wecken und auslaufen lassen,
erst dann abmelden - es ist keine Anfrage mit altem Token mehr unterwegs,
die per 401 ein zweites clear() ausloesen koennte. Genutzt an allen drei
Abmelde-Stellen (Einstellungen, Ueber, Konto geloescht) und im E2E-Live-Test.
Live gemessen: die verspaetete 401 tritt real auf, kam aber stets vor dem
Abschluss einer Neuanmeldung an - Risiko war klein, ist jetzt ausgeschlossen.
test/live_logout_race_test.dart in scripts/test.ps1 -Live.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-07 17:39:37 +02:00
Bernd SteckmeisterandClaude Opus 5.5 f4d334a60b test: Live-E2E-Test gegen SDK-Sync-Wettlauf abgesichert (sporadisch rot)
matrix 6.2 wirft den Fehler einer veralteten Sync-Antwort, bevor es die
Request-ID prueft: die 401 eines alten Long-Polls nach dem Logout loeste ein
zweites clear() aus (nach dispose -> "databaseFactory not initialized").
_logoutWithoutStraySync haelt die Sync-Schleife an und laesst den Long-Poll
auslaufen. Danach 3/3 Laeufe gruen, 0 verspaetete Logout-Meldungen.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-07 11:55:29 +02:00
Bernd SteckmeisterandClaude Fable 5 9f797279eb test: Live-E2E-Verifikation SQLCipher mit echtem Login (Test-Account)
Neuer gegateter Test (PYRAMID_LIVE_TEST=1, Windows): echter Login als
pyramidtest1, Byte-Pruefung der Platte (kein SQLite-Header, Token +
Nachricht nicht im Klartext, Positiv-Kontrolle in Klartext-DB),
Neustart aus verschluesselter DB, Logout/Re-Login, Migration einer
Klartext-DB mit echter eingeloggter Session. Zugangsdaten bleiben
ausserhalb des Repos.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-06 22:11:48 +02:00