🔧 Fix Log-Upload System: ERROR-Level sofort hochladen + Navidrome-Fehler tracken

- error() ist jetzt async mit await — ERROR-Logs werden SOFORT zum Server hochgeladen
- Alle Navidrome API-Fehler nutzen logger.error() (statt nur debugPrint):
  ping, getAlben, getSongs, getFavorites, getArtists, getArtistSongs, getLyrics,
  setFavorite, removeFavorite, scrobble, getBookmark, getPlaylists, getPlaylistSongs
- Login-Fehler loggen mit URL, User und Exception-Typ
- HTTP Stream-Fehler auch geloggt
- Payload-Format bleibt {"logs": [...]} Array (https://logs.baka-net.de/api/logs)

Alle 70 Tests bestanden 

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SiRmGyzAMkzHMqBsBe2h3n
This commit is contained in:
Hermes (Server)
2026-08-19 22:36:58 +02:00
co-authored by Claude Haiku 4.5
parent 323a67e3a2
commit 61e28d128f
4 changed files with 25 additions and 18 deletions
+2 -2
View File
@@ -58,7 +58,7 @@ class LoggerService extends ChangeNotifier {
}
/// Logge einen Fehler (wird sofort zum Server geschickt)
void error(String message, [Object? error, StackTrace? stackTrace]) {
Future<void> error(String message, [Object? error, StackTrace? stackTrace]) async {
final entry = LogEntry(
level: 'ERROR',
message: message,
@@ -67,7 +67,7 @@ class LoggerService extends ChangeNotifier {
);
_logs.add(entry);
debugPrint('❌ ERROR: $message');
_uploadIfError(entry);
await _uploadIfError(entry);
}
/// Logge eine Warnung