Commit Graph
36 Commits
Author SHA1 Message Date
dustinandClaude Opus 5 1325badf90 Equalizer (nativ), Dolby-Atmos-Zugang und Auto-Wiedergabe bei Kopfhoerern
- Native Bruecke AudioEffectsBridge.kt: Equalizer + BassBoost + Virtualizer
  auf der Audio-Session des Players, inkl. System-Klangeffekt-Panel
- Dart-Seite AudioEffects: Presets, Baender, Bass/Immersiv, persistiert
- EqualizerScreen nach Vorlage inkl. Drehregler (CustomPainter)
- Auto-Wiedergabe bei verbundenen Kopfhoerern (Klinke + Bluetooth)
- MODIFY_AUDIO_SETTINGS im Manifest
- Einstellungen: neuer Bereich "Ton"

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011snPXPafPC5i87o68H14W7
2026-08-20 18:35:06 +02:00
dustinandClaude Opus 5 7aa98864aa Kategorien (mehrere je Song), Metadaten-Ansicht mit Expertenmodus
- DB-Schema 4: Tabelle song_categories + Spalte categories_edited
- Kategorien kommen aus dem Genre-Tag (Trennung an ; , | /), manuell
  bearbeitbar; von Hand gesetzte Kategorien ueberlebt der naechste Scan
- Songzeile zeigt "Kuenstler | Kategorie1 - Kategorie2"
- Einstellung "Gleiche Kategorie = gleiches Coverbild" (Standard an)
- Metadaten-Sheet mit ausklappbarem Expertenmodus
- Neu: categories.dart, category_service.dart, song_detail_sheet.dart,
  app_settings.dart

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011snPXPafPC5i87o68H14W7
2026-08-20 18:29:45 +02:00
dustinandClaude Opus 5 2667613a2e Neue Melo-UI Phase 1: 4 Tabs (Meine Musik/Suche/Favoriten/Download) + Sortierung
- Meine Musik als Startbildschirm ohne Topbar: Kopfzeile (Einstellungen,
  Suche, Musikerkennung), Schnellzugriffe, Shuffle + Sortieren, Liederliste
- Sortierung nach Zuletzt hinzugefuegt / Name (A-Z-#) / Wie oft abgespielt,
  auf- und absteigend, pro Liste gespeichert (SortStore)
- Favoriten als eigener Tab mit gleicher Shuffle-/Sortier-Leiste
- Download-Tab uebernimmt den Navidrome-Server-Browser
- DB-Schema 3: playCount, gezaehlt beim Titelstart
- Theme auf #0B0B10 / #c0392b
- Scan-Aktionen aus der entfallenen Topbar jetzt in den Einstellungen

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011snPXPafPC5i87o68H14W7
2026-08-20 18:00:53 +02:00
Hermes (Server)andClaude Fable 5 5d08da1086 Login-Dialog zeigt echte Server-Fehlermeldung + pwLen im Log
Tiefe Debug-Runde bewiesen: Server, DB-Passwort und App-Token-Logik sind
korrekt (8/8-Repro gegen Live-Server) — abgelehnt wird ein falscher
Passwort-Wert vom Gerät. Damit das künftig sofort sichtbar ist:
- NavidromeService.letzterLoginFehler hält die Server-Meldung fest
- Login-Dialog zeigt sie statt generischem "Login fehlgeschlagen"
- Fehler-Log enthält die Passwort-Länge (nie das Passwort selbst)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JRj3pupcigUi683vy2Wwnz
2026-08-20 16:13:34 +02:00
Hermes (Server)andClaude Opus 4.8 a7d2da9512 Default-User im Navidrome-Login auf 'Baka' setzen
Vorher war der Dialog-Default 'Dustin' — versehentlicher Login-Versuch mit
falschem User. Default ist jetzt 'Baka'.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tr2UwurtxyJUpWpBSeVmBm
2026-08-20 10:04:04 +02:00
Hermes (Server)andClaude Opus 4.8 3d1e00646a Fix: Navidrome-Login — Passwort-Sichtbarkeit + Trim (Login fehlgeschlagen)
Systematische Diagnose bewies: App-Code, Server, User 'Baka' und Passwort sind
korrekt (1:1-Nachbau des App-Requests inkl. Salt/Token -> Navidrome status:ok).
Der Fehler lag im auf dem Gerät verwendeten Credential-Wert:
- der alte Build (Ping-Fehlalarm) persistierte ungültige Zugangsdaten,
- verdeckte Tippfehler im obscureText-Passwortfeld blieben unsichtbar.

Fix:
- Passwort-Anzeigen-Umschalter (Auge-Icon) im Login-Dialog.
- URL + Passwort werden getrimmt (Autofill/Tastatur-Leerzeichen).
Ein erfolgreicher Login ueberschreibt die alten gespeicherten Credentials;
der Ping-Fix stellt sicher, dass nur gueltige gespeichert werden.

84/84 Tests gruen, analyze sauber.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tr2UwurtxyJUpWpBSeVmBm
2026-08-20 09:52:07 +02:00
Hermes (Server) 2e40cc2024 Merge: Fix Server-Bibliothek-Laden + Tab-Abschnitt
# Conflicts:
#	CHANGELOG.md
2026-08-20 09:34:11 +02:00
Hermes (Server)andClaude Opus 4.8 3d39e8b922 Fix: Server-Bibliothek lädt nicht + Tab '🌐 Server' abgeschnitten
Bug 2 (Laden schlägt fehl trotz 'ping ok'): Der Code ignorierte das Subsonic-
status-Feld. Navidrome liefert bei falschem Passwort HTTP 200 mit
status:"failed" — ping() meldete dadurch fälschlich Erfolg, getAlben/getArtists
behandelten die Fehlerantwort still als leer ("Erneut versuchen").
- parseSubsonic() wirft NavidromeException bei status:"failed" (mit Servermsg).
- ping() prüft jetzt den Body statt nur HTTP 200.
- getAlben/getArtists reichen den Fehler durch (rethrow) statt [] zu liefern.
- getAlben nutzt getAlbumList2 (ID3, wie getArtists) statt getAlbumList (Folder).
- Server-Tab zeigt die echte Fehlermeldung statt "Keine Alben geladen".

Bug 1 (Tab abgeschnitten -> nur "Serve"): TabBar labelPadding verkleinert
(engere Abstände), Schriftgröße unverändert.

Neue Tests: test/navidrome_parse_test.dart (5). 84/84 grün, analyze sauber.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tr2UwurtxyJUpWpBSeVmBm
2026-08-20 02:24:37 +02:00
Hermes (Server)andClaude Opus 4.8 d83f8c8c54 Datenschutz: Log-Bereinigung vor Server-Upload (Scrubber + Quelle)
Diagnose-Logs werden zentral bereinigt, bevor sie an logs.baka-net.de gehen.
Lokaler debugPrint bleibt vollständig.

- Freitext-Scrubber (LoggerService.scrubText) für message + stackTrace:
  maskiert user=/pw=/password=/token=/secret=/url= sowie Datei-Pfade,
  nackte URLs, Bearer-Token, JWTs und lange Hex-IDs.
- stackTrace auf 8 Zeilen gekürzt (capFrames).
- deviceModel nur noch grobe Plattform (android/ios) statt Hersteller+Modell;
  device_info_plus im Logger entfernt.
- Quelle entschärft: settings_screen loggte Navidrome-Login mit Klartext
  user=/url= — jetzt nur neutraler Status inkl. pwLeer-Flag.
- Neue Tests: test/logger_service_test.dart (9). 79/79 grün, analyze sauber.

Opt-in/Einwilligung bleibt separater Folgeschritt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tr2UwurtxyJUpWpBSeVmBm
2026-08-20 01:38:56 +02:00
Hermes (Server)andClaude Haiku 4.5 61e28d128f 🔧 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
2026-08-19 22:36:58 +02:00
Hermes (Server) a1e8fadb75 📦 BUILD v3: Final APK mit Auto-Bugreport Logger System (22.3MB) 2026-08-19 21:33:49 +02:00
Hermes (Server) 42be85a552 📦 BUILD v2: APK mit Login-Verbesserungen neu gebaut (22.3MB) 2026-08-19 21:13:54 +02:00
Hermes (Server) ea6ce5d4a6 🎉 BUILD: Release APK (Phase 2 Complete!) — 21MB ARM64 für POCO X7 Pro 2026-08-19 20:20:01 +02:00
Hermes (Server) 9b47cd4059 📝 CHANGELOG: Phase 2 Complete (Parts 6-8: Playlisten-Sync + Lock-Screen + MiniPlayer) 2026-08-19 19:33:41 +02:00
Hermes (Server) 0e7af31b66 📝 CHANGELOG: Playlisten-Sync (Phase 2, Part 6) 2026-08-19 19:31:17 +02:00
Hermes (Server) 95cbd093e8 📝 CHANGELOG: History-Sync (Phase 2, Part 5) 2026-08-19 19:27:04 +02:00
Hermes (Server) 5202b130c5 📝 CHANGELOG: Favoriten-Sync (Phase 2, Part 4) 2026-08-19 19:12:36 +02:00
Hermes (Server) 49a8e91a63 📝 CHANGELOG: Phase 2 Features (Part 1-3) dokumentiert 2026-08-19 19:07:27 +02:00
Hermes (Server) 12bb16b847 docs: CHANGELOG - Auto-Caching Phase 2 2026-08-19 19:00:33 +02:00
Hermes (Server) 6e45baa09a docs: CHANGELOG Phase 2 begonnen 2026-08-19 18:54:50 +02:00
Hermes (Server) 3ddd61b9ce docs: CHANGELOG - Lyrics + Shuffle/Repeat hinzugefügt 2026-08-19 18:49:57 +02:00
Hermes (Server) 0c39b0aa73 docs: CHANGELOG Phase 1 - Musikserver-Integration vollständig 2026-08-19 18:35:18 +02:00
Hermes (Server) 12cada99cf docs: CHANGELOG für Server-Album-Tab aktualisiert 2026-08-19 18:33:39 +02:00
Hermes (Server)andClaude Haiku 4.5 06be0a7065 feat(navidrome): Musikserver-Integration (Subsonic API)
- NavidromeService mit Credential-Verwaltung (secure storage)
- Navidrome-Settings in Settings-Tab: Login/Logout für Server-Verbindung
- Dependencies hinzugefügt: http, crypto, shared_preferences, flutter_secure_storage
- Tests: 70/70 grün
- Analyzer:  keine Fehler

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJzQjUtnvYUtHdnTs3iCru
2026-08-19 07:21:32 +02:00
Hermes (Server)andClaude Haiku 4.5 2163c83409 docs: Changelog für Settings-Tab und Abschluss des Tab-Restructure-Plans
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 18:32:03 +02:00
Hermes (Server)andClaude Haiku 4.5 3fc52327c9 docs: Changelog für Wiedergabeposition-Resume
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 18:17:51 +02:00
Hermes (Server)andClaude Haiku 4.5 09dd4a4367 docs: Changelog für Warteschlangen-Ansicht
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 17:55:18 +02:00
Hermes (Server)andClaude Haiku 4.5 ea6d8ab18e docs: Changelog für Künstler-/Alben-Browsing in der Bibliothek
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 17:35:10 +02:00
Hermes (Server)andClaude Haiku 4.5 4477370766 docs: Changelog für Playlist-Detailansicht
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 17:20:09 +02:00
Hermes (Server)andClaude Haiku 4.5 4b5d77c196 docs: Changelog für Playlist-Hinzufügen-Button
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 17:19:42 +02:00
Hermes (Server)andClaude Haiku 4.5 822384b39f docs: Changelog für Playlisten-Tab
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 17:19:13 +02:00
Hermes (Server)andClaude Haiku 4.5 492d3f19f9 docs: Changelog für finales 5-Tab-Layout
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 17:03:39 +02:00
Hermes (Server)andClaude Haiku 4.5 be1248d7ba docs: Changelog für Now-Playing-Tab und MediaItem-songId
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 17:01:47 +02:00
Hermes (Server) 62c65e8eca docs: update changelog for favorite button 2026-08-18 15:30:02 +02:00
Hermes (Server) 5c8796d353 docs: update changelog for PlaylistService 2026-08-18 15:29:01 +02:00
Hermes (Server)andClaude Haiku 4.5 449fe4ce76 docs: update changelog for playlist schema
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 15:14:20 +02:00