fix: 6 Claude-Audit-Fixes (3 CRIT + 3 HIGH)
CRITICAL: - Logout: LoginScreen statt MeloHome pushen (home_screen.dart) - Path Traversal: sanitizeDateiname() zentral + sync-loop abgesichert - SecureStorage: flutter_secure_storage für Token+Passwort (auth_service, navidrome) HIGH: - Seek: PlayerService.seek() reload-frei (audio_handler) - Play/Pause: Zielzustand statt Toggle für System-Controls - X-User: Header entfernt, Server verlässt sich auf JWT
This commit is contained in:
@@ -54,20 +54,20 @@ class MeloAudioHandler extends BaseAudioHandler {
|
||||
Future<void> play() async {
|
||||
if (_player.aktuellerSong != null) {
|
||||
_playing = true;
|
||||
await _player.playPause();
|
||||
await _player.play();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> pause() async {
|
||||
_playing = false;
|
||||
await _player.playPause();
|
||||
await _player.pause();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> stop() async {
|
||||
_playing = false;
|
||||
await _player.playPause();
|
||||
await _player.pause();
|
||||
playbackState.add(playbackState.value.copyWith(
|
||||
controls: [MediaControl.play],
|
||||
playing: false,
|
||||
@@ -77,7 +77,7 @@ class MeloAudioHandler extends BaseAudioHandler {
|
||||
|
||||
@override
|
||||
Future<void> seek(Duration position) async {
|
||||
_player.spiele(_player.aktuellerSong!, position: position.inSeconds);
|
||||
await _player.seek(position);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
Reference in New Issue
Block a user