Manuelle Baka-Anmeldung übernimmt das Passwort jetzt dauerhaft; Auto-Login-Fehler werden geloggt
Nach erfolgreichem manuellem Login im "Baka-Konto"-Dialog wird das neue Passwort jetzt zusätzlich in NavidromeService persistiert (dafür ergänzt: öffentlicher serverUrl-Getter) — vorher schrieb der Dialog es nur ins BakaAuth-Token, nie zurück in die lokale Navidrome-Ablage, aus der autoAnmelden() sich beim nächsten App-Start bedient. Ohne diesen Fix kam der Auto-Login-Fehler nach Ablauf des 7-Tage-Tokens garantiert wieder. Zusätzlich hält BakaAuth.letzterAutoLoginFehler jetzt den Fehlertext des letzten Auto-Login-Versuchs fest, statt ihn zu verwerfen — bisher war aus der App nicht diagnostizierbar, woran ein Auto-Login scheiterte.
This commit is contained in:
@@ -5,6 +5,38 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### 🔑 Manuelle Baka-Anmeldung übernahm das neue Passwort nie dauerhaft; Auto-Login-Fehler wurde verworfen (2026-08-29)
|
||||
|
||||
- 🐛 **Wer sich nach einer fehlgeschlagenen Auto-Anmeldung manuell im
|
||||
"Baka-Konto"-Dialog mit dem korrekten (neuen) Passwort anmeldete, bekam
|
||||
denselben Fehler beim nächsten App-Start (nach Ablauf des 7-Tage-Tokens)
|
||||
garantiert wieder** — unabhängig vom Server-Zustand. Grund: Navidrome-
|
||||
und Baka-Konto teilen sich laut Design dieselben Zugangsdaten
|
||||
(`navidrome_service.dart`), aber der manuelle Anmelde-Dialog
|
||||
(`_AnmeldeDialogState._anmelden()` in `downloads_screen.dart`) schrieb
|
||||
das eingegebene Passwort nur ins `BakaAuth`-Token — nie zurück in die
|
||||
lokale Navidrome-Zugangsdaten-Ablage (`NavidromeService`), aus der
|
||||
`BakaAuth.autoAnmelden()` sich beim nächsten Start bedient. Der manuelle
|
||||
Login "half" also nur bis zum nächsten Token-Ablauf.
|
||||
- 🔧 **Fix:** Nach erfolgreichem manuellem Login persistiert der Dialog die
|
||||
neuen Zugangsdaten jetzt zusätzlich über
|
||||
`NavidromeService.speichereZugangsdaten(...)`. Dafür bekam
|
||||
`NavidromeService` einen fehlenden öffentlichen Getter `serverUrl`.
|
||||
- 🐛 **`BakaAuth.autoAnmelden()` verwarf den Fehlertext von `anmelden()`
|
||||
komplett** — aus der App war nicht diagnostizierbar, ob ein Auto-Login
|
||||
an falschem Passwort, Rate-Limit oder Verbindungsfehler scheiterte.
|
||||
- 🔧 **Fix:** neues Feld `BakaAuth.letzterAutoLoginFehler` hält den
|
||||
Fehlertext des letzten Auto-Login-Versuchs fest (zusätzlich per
|
||||
`debugPrint` geloggt) — die bestehende Race-Condition-Absicherung über
|
||||
`_laufenderAutoLogin` bleibt unverändert erhalten.
|
||||
- ✅ **Getestet (RED→GREEN):** neuer Widget-Test in `online_screen_test.dart`
|
||||
bestätigt, dass `nav.passwort`/`nav.benutzer` nach erfolgreichem
|
||||
manuellem Login den neu eingegebenen Wert zeigen; neuer Unit-Test in
|
||||
`baka_auth_test.dart` bestätigt, dass `letzterAutoLoginFehler` nach
|
||||
einem fehlgeschlagenen `autoAnmelden()` den Fehlertext trägt statt
|
||||
`null` zu bleiben. Volle Suite (601 Tests) grün, `flutter analyze` ohne
|
||||
Befund.
|
||||
|
||||
### 🎧 "Zuletzt" zeigte neu Hinzugefügtes statt zuletzt Gehörtem; Herz saß fern vom Songnamen (2026-08-29)
|
||||
|
||||
- 🐛 **Der Schnellzugriff "Zuletzt" auf "Meine Musik" zeigte "zuletzt hinzugefügte" Songs,
|
||||
|
||||
Reference in New Issue
Block a user