Hermes (Server) and Claude Haiku 4.5
653bc612f5
BUG-FIX: Login auf Navidrome umgestellt (Baka-Auth + Cloud gelöscht)
...
Fehlerpfad (502):
- App versuchte bei Startup, sich bei altem Baka-Auth (8993/8994) anzumelden → gelöscht
- CloudService versuchte, Cloud-API zu erreichen → gelöscht
- AuthService.initialisieren() crashte bei 502
Lösung:
- LoginScreen nutzt jetzt Navidrome.ping() statt AuthService.login()
- main.dart: AuthService.initialisieren() entfernt (nicht mehr nötig)
- MeloApp: Prüft jetzt Navidrome-Credentials statt Baka-Auth-Token
- MeloApp zeigt Loading-Spinner während Credentials geladen werden
Musikserver-Chip: Nutzt jetzt nur Navidrome (nicht mehr Cloud)
Alle 202 Tests grün
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01M8HvgtKSsaDZ8bjZrYBBms
2026-08-19 07:11:35 +02:00
Hermes (Server) and Claude Haiku 4.5
2b10c350f9
Navidrome-Integration vollständig: Browser-Widget in Home-Screen eingebaut
...
- NavidromeBrowser-Widget als BottomSheet verfügbar
- Dialog erweitert: "Browser öffnen" zeigt draggable Album/Song-Liste
- Musikserver-Statuspunkt bereits im initState geladen
- Alle 202 Tests grün (Verify-Fix durch isolierte navServer-Zustandsänderung)
Workflow:
1. Nutzer tippt auf Musikserver-Chip (oben im Header)
2. Dialog zeigt Verbindungsstatus + "Browser öffnen"-Button
3. BottomSheet öffnet Album-Liste (0.7..0.95 Höhe, draggable)
4. Download oder Stream direkt von Navidrome möglich
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01M8HvgtKSsaDZ8bjZrYBBms
2026-08-19 06:50:00 +02:00
Hermes (Server) and Claude Opus 5
22238138e8
Fix: Cloud-Playlists lassen sich nicht löschen (DELETE statt POST)
...
deletePlaylist() schickte ein POST auf /api/v1/cloud/playlists. Der Server
unterscheidet dort nach Methode (POST = anlegen, DELETE = löschen), also
landete das Löschen im Anlegen-Handler, scheiterte an der leeren
Namensprüfung und lieferte HTTP 200 mit `status: error` zurück.
Zusätzlich wurde der Rückgabewert in cloud_screen.dart ignoriert: die UI
meldete "Playlist gelöscht", während die Playlist auf dem Server bestehen
blieb und beim nächsten Sync wieder auftauchte.
- cloud_service.dart: DELETE mit id im Body, Fehler werden geloggt
- cloud_screen.dart: Rückgabewert auswerten statt pauschal Erfolg melden
- cloud_service_test.dart: 3 Regressionstests (Methode ist DELETE, id im
Body, status != ok → false, Netzwerkfehler → false)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-14 23:48:26 +02:00
Hermes (Server)
77a20422be
Security-Fixes aus dem flutter-security Audit
...
CRIT:
- Cloud-Token jetzt in flutter_secure_storage (Keystore/Keychain) statt SharedPreferences, mit Migration alter Eintraege
- usesCleartextTraffic entfernt (kein HTTP-Klartext mehr)
HIGH:
- Path-Traversal gefixt: p.basename bei YouTube-Download, Navidrome-Download und Cloud-Auto-Sync
MED:
- allowBackup=false (kein Backup von Token-Daten)
- Navidrome-Salt kryptographisch sicher (Random.secure statt Timestamp)
2026-08-01 13:10:18 +02:00
Hermes (Server)
8b6a04ead8
Fix: Review-Findings korrigiert (Tag-Leiste, Profil, Singleton u.a.)
...
CRIT:
- Tag-Leiste: Toggle-Kopf 'Tags & Filter' eingebaut (war unerreichbar) + TagStats
- Profil: Cloud-Count vor Dialog aufloesen (kein 'Instance of Future' mehr)
HIGH:
- CloudEinstellungen: toten Sync-Timer entfernt (echter Timer im ViewModel)
- StatistikCard + RecentWidget jetzt eingebaut (gesamtMB/gesamtMin endlich genutzt)
- CloudService als Singleton (konsistenter Token-Zustand in allen Services)
MED/LOW:
- Playlist-Erkennung nur noch via list= Parameter
- Player: fehlende Quelle wird geloggt statt still
- song_tile: null-ID-Guard vor Tag-Dialog
- Scanner-Log mit Exception-Objekt
- FavoritenService: anzahlFavoriten() fuer StatistikCard
2026-07-31 15:42:54 +02:00
Hermes (Server)
b3aedc53f9
Feature: Cloud-Daten loeschen in Einstellungen (3s-Halten)
...
- Einstellungen > Cloud-Daten loeschen: 'Nur Musik' oder 'Komplett vom Server'
- 3-Sekunden-Gedrueckthalten-Button zur Bestaetigung (Fortschrittsbalken)
- Warnhinweis: Wird SOFORT geloescht, nicht rueckgaengig machbar
- Server: delete-music/delete-all Endpunkte mit Dedup-sicherem Registry-Cleanup
- Loeschen nur des eigenen Kontos (User aus Token, kein IDOR)
2026-07-31 15:39:19 +02:00
Hermes (Server)
519bdd4e23
Feature: Jederzeit von 'nur lokal' auf Cloud wechseln + Abmelden-Fix
...
- Profil-Dialog: 'Cloud aktivieren' erscheint im Lokal-Modus -> setzt Modus + Login
- Abmelden loescht jetzt wirklich das Token (CloudService.logout)
- _zeigeProfil liest Modus vor dem Dialog
2026-07-31 15:37:00 +02:00
Hermes (Server)
f9b6e57606
Feature: Login freiwillig - einmalige Modus-Wahl beim ersten Start
...
- Erster Start: Dialog 'Cloud (empfohlen)' oder 'Nur lokal' -> wird gespeichert
- Cloud gewaehlt: direkt Login-Dialog (Name + Passwort)
- Lokal gewaehlt: App nutzt nur lokale Musik, kein Login noetig
- Spaeter jederzeit im Cloud-Tab einloggbar
2026-07-31 15:35:34 +02:00
Hermes (Server)
19e4aac62e
Feature: Login-Effekte pro Person (Akzentfarbe + Sound + Begruessung)
...
- UserEffekt: Baka = rot + Fanfare, Tinker = tuerkis + Chime, Standard-Ping
- MeloTheme: dynamische Akzentfarbe via ValueNotifier (Theme wechselt live)
- Ausloeser: App-Start (wenn Token vorhanden) + nach erfolgreichem Login
- Assets: 3 kurze WAV-Sounds (assets/sounds/)
- Web: /whoami-Endpoint (Caddy) + Willkommens-Banner auf baka-net.de
2026-07-31 15:34:04 +02:00
Hermes (Server)
9a880b0f21
Security: Cloud-Auth auf Bearer-JWT umgestellt (IDOR-Luecke geschlossen)
...
- cloud_service: echter Login gegen baka-auth, Token statt X-API-Key/X-User
- app_config: hartcodierten API-Key-Default entfernt
- download_service + melo_logger: Bearer-Token statt X-API-Key
- navidrome: Passwort in flutter_secure_storage (Keychain/Keystore)
- song: token-haltige stream_url wird nicht mehr in SQLite persistiert
- cloud_screen: Pfad-Traversal beim Download-Dateinamen gefixt (p.basename)
- home_screen: Login-Dialog mit Passwort-Feld, Auto-Sync nutzt restoreLogin
2026-07-31 14:31:12 +02:00
Hermes (Server)
3e9389ab59
Melo v2.10 - YouTube Proxy, Download-Screen, Logger, iOS
2026-07-26 14:24:10 +02:00
Hermes (Server)
b4baef5875
Next Level Setup: Qualitäts-Gate + Projekt-Regeln (.hermes.md)
2026-07-24 10:37:13 +02:00
Hermes (Server)
a417b191a1
Fix: onAddToPlaylist im SongTile Konstruktor hinzugefügt
2026-07-24 08:57:37 +02:00
Hermes (Server)
b43ccd4c0d
Code Review Optimierungen: Typsicherheit, Scanner-Performance, DB Upgrade Template, Division Guard
2026-07-24 08:33:30 +02:00
Hermes (Server)
c7828b851c
Navidrome-Integration, Widgets (Recent + Tag-Statistik)
2026-07-23 22:23:28 +02:00