* fix: ensure load callback fires on error
Calls callOnLoaded(nil) when image loading fails.
This fixes the bottomplayer silently retaining stale images by ensuring consumers always get a callback and can clear their display state.
* fix: clear background layers on missing art
nil state now hides the blurred background widgets or animates the gradient to transparent, depending on the active configuration
The early return added in 13cb672 did not account for the reSort flag,
causing the sort button to have no effect when already viewing the
discography tab. Also extend the early-return guard to cover the
groupedReleases case for consistency.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add context cancellation to WidgetPool cleanup goroutine
- Properly stop ticker when context is canceled
- Add BackgroundContext() getter method to App for context access
- Pass application context to NewWidgetPool for lifecycle management
This fixes a resource leak where the cleanup goroutine would run
indefinitely without any way to stop it, preventing proper cleanup
on application shutdown.
This will be available in "go fix" within Go 1.26 but in the meantime:
go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...
Remove doSetNewTrackOrder from ui/browsing/nowplayingpage.go: it seems
there is a same named method that is used elsewhere, instead of the one
we are removing.
$ ag doSetNewTrackOrder
ui/browsing/playlistpage.go
95: a.tracklist.OnReorderTracks = a.doSetNewTrackOrder
210:func (a *PlaylistPage) doSetNewTrackOrder(ids []string, newPos int) {
ui/browsing/nowplayingpage.go
509:func (a *NowPlayingPage) doSetNewTrackOrder(idxs []int, insertPos int) {