YouTube-Gast-Zugang (App-Seite): 5 Downloads/Tag ohne Konto #4

Closed
dustin wants to merge 12 commits from feature/youtube-gast-zugang into fix/p0-vollwertigkeit
3 changed files with 30 additions and 0 deletions
Showing only changes of commit c3f541f266 - Show all commits
+15
View File
@@ -5,6 +5,21 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
## [Unreleased]
### 🐛 Cloud-Kontingent-Fix aus dem Task-Review (2026-08-29)
- 🔁 **`BakaAuth.abmelden()` setzt jetzt auch `verbleibend` zurück.**
Referenzmuster `GastZugang.verwerfen()` setzt `_verbleibend = null` mit,
`abmelden()` tat das bisher nicht — nur `_token`/`_benutzer` wurden
zurückgesetzt. Meldet sich ein Cloud-User ab und ein ANDERER Cloud-User
(Dustin/Baka/Tinker) danach an, wäre sonst bis zum nächsten Download der
alte Kontingent-Stand des vorherigen Accounts sichtbar geblieben.
Aktuell folgenlos (da `verbleibend` bis zum Server-Rollout ohnehin immer
`null` ist), aber ein latenter Bug, der beim Server-Rollout live
gegangen wäre. (`lib/services/baka_auth.dart`)
-**Getestet (RED→GREEN):** neuer Test „Abmelden setzt auch den
Kontingent-Stand zurück" in `test/services/baka_auth_test.dart`. Volle
Suite grün, `flutter analyze` ohne Befund.
### ☁️ Cloud-Account-Kontingent: App-Seite für das 100/Tag-Limit (2026-08-29)
- ⚠️ **Reine App-Seite, ohne Wirkung bis der Server mitzieht.** Die
+1
View File
@@ -126,6 +126,7 @@ class BakaAuth extends ChangeNotifier {
Future<void> abmelden() async {
_token = null;
_benutzer = '';
_verbleibend = null;
await _speicher.loeschen(_tokenKey);
await _speicher.loeschen(_userKey);
notifyListeners();
+14
View File
@@ -143,6 +143,20 @@ void main() {
expect(benachrichtigt, 1);
});
test('Abmelden setzt auch den Kontingent-Stand zurück', () async {
final speicher = _MemorySpeicher();
final auth = BakaAuth(
client: MockClient(
(_) async => http.Response(jsonEncode({'token': 'jwt-abc'}), 200)),
speicher: speicher);
await auth.anmelden('Baka', 'geheim');
auth.merkeVerbleibend(42);
await auth.abmelden();
expect(auth.verbleibend, isNull);
});
test('Abmelden löscht Token und Benutzer aus dem Speicher', () async {
final speicher = _MemorySpeicher();
final auth = BakaAuth(