Three related resilience gaps in SourcedTrack.fetchFromTrack and URL
resolution:
- A cached SpotubeAudioSourceMatchObject whose stream resolution now
fails (source removed/changed) was never retried; it now deletes the
stale sourceMatchTable row, fetches fresh siblings, caches the new
match, and retries once.
- fetchSiblings returning empty was treated as a hard TrackNotFoundError;
it now attempts audioSource.auth.authenticate() once and retries
before giving up, via a shared _fetchSiblingsWithRetry helper.
- `url` getter and getUrlOfQuality threw/returned null when the user has
no configured quality presets, or no stream matches the selected
container; both now fall back to sources.firstOrNull?.url instead of
crashing.
Fixes#3091
* 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>