Two related bugs in ServerPlaybackRoutes:
1. _getSourcedTrack looked up the requested media in
audioPlayer.playlist.medias by URI, but MPV issues its HTTP request
before media_kit's Dart-side state has synced with the native
player, so the lookup threw "Bad state: No element" and the proxy
returned 500 ("Failed to open" in MPV). Now resolves the track
directly from playlist.tracks by trackId via firstWhereOrNull,
independent of the player's media list.
2. MPV opens multiple concurrent range requests for the same track
(buffering/seek/reconnect), each opening its own writeOnlyAppend
sink to the same .part cache file; the final rename would then fail
with a file-in-use error (or corrupt the cache from concurrent
appends). Added a _cachingInProgress guard so only one request
caches a given track at a time, cache only full requests
(contentRange.start == 0), write with truncate instead of append,
and clean up the in-progress marker/partial file in finally.
Fixes#3089
* chore: replace windows app icon by a higher resolution (#2838)
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
* fix: upgrade NewPipeExtractor to latest version fixinng playback issue
* cd: disable free disk space step
* chore: upgrade pubspec
* fix(android): build not working due to
* chore: remove package assets folder
* fix: lyrics not working
* chore: generate changelog
---------
Co-authored-by: Tobse <1190109+TobseF@users.noreply.github.com>
* feat(queue): add multi-select and bulk actions to queue
- Add selection mode to PlayerQueue with long-press to select
- Disable inner navigation (title/artist) when selecting via TrackTile
- Show checkboxes only in selection mode
- Add selection AppBar behavior and bottom-sheet menu with: Select all, Add to playlist, Remove selected, Cancel
- Reuse existing PlaylistAddTrackDialog for bulk add
- Hide drag handle while in selection mode
Closes: # (implement multi-select queue feature)
* chore: update .gitignore to include .vscode and modify signing configurations back to default in build.gradle
* chore: add VS Code configuration files
* chore: update dependencies in pubspec.lock
* chore: update pubspec.lock to reflect dependency changes and version updates
* chore: fix replace material widgets with shadcn widgets
---------
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>