CI / build-and-test (push) Canceled after 0s
Ein Sync-Ausfall (offline/Fehler) war bisher nur als blasser Text in der Statuszeile sichtbar und konnte so stundenlang unbemerkt bleiben, bis auf einem anderen Gerät Daten fehlten. SyncStatusViewModel meldet neue Ausfälle jetzt einmalig aktiv per Toast (nicht bei jedem automatischen Retry erneut). DatabaseEncryptionService.IsEncrypted/VerifyPassword öffneten die Datenbankdatei mit einer zweiten, exklusiven (Direct) LiteDB-Verbindung, während LiteDbContext dieselbe Datei bereits im Shared-Modus offen hält - jeder Aufruf (z.B. beim Öffnen der Einstellungen) crashte reproduzierbar mit IOException. Beide öffnen jetzt ebenfalls im Shared-Modus und erzwingen einen tatsächlichen Lesezugriff, da Shared-Verbindungen die Datei lazy öffnen. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>