Commit Graph
1037 Commits
Author SHA1 Message Date
Fábio Telles Justino 0ae8a247d0 Scroll artist bio (#945) 2026-06-19 08:12:32 -07:00
Inevitabby 9a8bc6c936 fix: clear stale cover art and backgrounds on tracks without art (#957)
* 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
2026-06-19 08:05:34 -07:00
Kryštof Baksa 2ffbbba3db Add "All Tracks" option to Startup page (#955) 2026-06-17 08:48:56 -07:00
Fábio Telles Justino 06c175f19f Fix uiScale radio options separating labels from values (#942) 2026-06-02 08:21:12 -07:00
tdakkota cfa45a4647 feat(ipc): add an endpoint for getting current track (#911) 2026-04-20 19:36:11 -07:00
Mark Stenglein d985154062 Fix keyring unlock blocking the Fyne event loop on startup (#900)
GetServerPassword can block while the system keyring daemon shows its
unlock dialog. Calling it synchronously on the Fyne main thread froze
the event loop, causing Wayland compositors to hide the window.

Move the keyring lookup into a goroutine and dispatch back to the Fyne
thread to show the connecting dialog and attempt the connection.
2026-04-06 07:23:55 -07:00
Drew Weymouth 058156abe7 Fix #888: use correct threading model for creating share URLs 2026-04-05 08:28:48 -07:00
Drew Weymouth dcee51eb4a Merge pull request #878 from dweymouth/mac-dock-reopen
Handle click on dock icon to reopen app for Mac
2026-03-30 19:03:47 -07:00
Drew WeymouthandClaude Sonnet 4.6 40781f668a Hide window on Cmd+W for macOS (close-window-to-hide behavior)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 18:24:58 -07:00
Drew WeymouthandClaude Sonnet 4.6 d43e0c126b Fix macOS quit: intercept applicationShouldTerminate: to allow real exit
GLFW's applicationShouldTerminate: converts all quit paths (Cmd+Q, dock,
menu bar) into window close requests and returns NSTerminateCancel, so our
close-to-hide intercept was hiding the window instead of letting the app exit.

Fix by implementing applicationShouldTerminate: in ReopenDelegate, setting a
darwinQuitting flag before forwarding to GLFW's delegate. The close intercept
checks this flag and calls Window.Close() instead of Hide() when quitting.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 17:57:20 -07:00
Drew WeymouthandClaude Sonnet 4.6 fa00c6c7a1 Fix #881: discography sort button regression on Artist page (#882)
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>
2026-03-17 08:36:38 -07:00
Drew Weymouth 9a30559343 handle click dock icon to reopen app for Mac 2026-03-14 19:38:41 -07:00
Drew Weymouth a4dc148eb1 Merge pull request #867 from dweymouth/fix/no-playback-on-restore
Prevent scrobbling and short playback artifacts when loading the app with previous track paused
2026-03-05 07:06:40 -08:00
Drew Weymouth c3b9763724 handle stop properly when pendingLoadPaused 2026-03-05 06:42:22 -08:00
Drew Weymouth afb1c6c397 defensive nil checks around CanvasForObject 2026-03-01 08:24:16 -08:00
Drew Weymouth 12b5d33bbe Fix #866: remove race condition around context cancel func 2026-03-01 07:41:32 -08:00
Drew Weymouth ce3ae4f15a Fix #700: add Song Radio context menu item to play queue list 2026-02-20 20:02:28 -08:00
Drew WeymouthandClaude Sonnet 4.6 b40c154f7e move shuffle and repeat controls into main player controls (#862)
Shuffle moves to the far left of the transport buttons and repeat to the far right, flanking prev/play/next. Both use a new IconButtonSizeSmallest (10% smaller than IconButtonSizeSmaller) with 2dp spacing separating them from the adjacent transport buttons. Wiring updated in bottompanel.go accordingly.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 18:53:02 -08:00
Siiiiinth 91701902e6 fixed playTrackAt when double clicking track 2026-02-20 15:57:54 +01:00
Siiiiinth 194e15cff6 Merge branch 'main' into feature/shuffle 2026-02-20 15:18:22 +01:00
Drew WeymouthandClaude Sonnet 4.6 e21908cd24 Add -reload-theme CLI flag to re-apply the current theme file (#860)
* Add -reload-theme CLI flag to re-apply theme via IPC

Sends a reload-theme IPC message to a running instance, causing it to
call fyne.CurrentApp().Settings().SetTheme(m.theme). Follows the same
callback pattern as -show (OnReactivate) and quit (OnExit).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* actually re-read theme file

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-17 16:56:51 -08:00
Siiiiinth 0a3b76b952 Merge branch 'main' into feature/shuffle 2026-02-12 10:08:17 +01:00
Gianluca Boiano ca9a127d33 Fix out of bounds panic when restoring EQ preset 2026-02-10 08:13:39 -08:00
Siiiiinth d077bfb953 load full queue state on start 2026-02-09 18:48:50 +01:00
Siiiiinth 1e1e3f7106 fixed various bugs with inserting and adding tracks 2026-02-09 13:43:36 +01:00
Siiiiinth a54d81ccca merge conflicts 2026-02-09 08:11:05 +01:00
Siiiiinth 48226d5461 wip restore queues on start 2026-02-09 08:09:01 +01:00
Drew Weymouth ead7364632 Merge pull request #835 from M0Rf30/feat/equalizer-improvements
Add equalizer preset management and AutoEQ integration
2026-02-08 17:50:07 -08:00
Drew Weymouth f2440d9d15 some log cleanup 2026-02-08 17:46:20 -08:00
Drew Weymouth 52f96e1ce8 use error toast to inform user 2026-02-08 17:38:27 -08:00
Drew Weymouth 6c84910553 renaming 2026-02-08 17:15:38 -08:00
Drew Weymouth 8cc4476aba add save / save as icons, use icon buttons in eq dialog 2026-02-08 17:10:31 -08:00
Gianluca Boiano a2e4ab2380 Add Save/Save As buttons with dirty state tracking to EQ dialog 2026-02-08 12:46:20 +01:00
Drew Weymouth daf0440fbc extend searchdialog / SearchResult to properly support headphone profiles 2026-02-06 08:27:52 -08:00
Gianluca Boiano 7780efb344 Add EQ type selector, preset management, and AutoEQ browser UI 2026-02-06 02:50:41 +01:00
Gianluca Boiano b0b2dc46f9 Update player to support both 10-band and 15-band equalizers 2026-02-06 02:50:40 +01:00
Drew Weymouth 3c46889014 Extract and display radio ICY metadata (#845)
* extract and display radio ICY metadata

* fix crash when casting radio station
2026-02-05 07:51:15 -08:00
Drew Weymouth 5e5210adb3 Merge pull request #816 from zacaj/feature/artist-all-tracks
All Tracks tab for Artist page
2026-02-03 08:52:24 -08:00
Drew Weymouth 13cb67284c some reworking 2026-02-03 08:40:30 -08:00
Drew Weymouth 6ab0258584 gofmt 2026-02-02 07:55:18 -08:00
Drew Weymouth df9311e8b1 remove cancel which is no longer used 2026-02-02 07:54:52 -08:00
Gianluca Boiano ada1564be7 Fix WidgetPool goroutine and ticker leak
- 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.
2026-02-02 16:31:56 +01:00
Siiiiinth e05542844a save shuffle state in config 2026-02-01 14:21:57 +01:00
Siiiiinth 5d1636b18a Merge branch 'main' into feature/shuffle 2026-02-01 12:03:00 +01:00
Drew Weymouth 20c61f4668 Avoid triggering cover art dissolve animation with same cover image 2026-01-30 08:45:33 -08:00
Drew Weymouth 61ff86c5fc Fix #813: use tracklist header to determine minimum width 2026-01-30 07:57:21 -08:00
Siiiiinth 1c693f00da Merge branch 'main' into feature/shuffle 2026-01-29 18:16:34 +01:00
Drew Weymouth 9aeb7d0bd2 Fix #798: Migrate SkipSSLVerify setting to per-server 2026-01-29 08:35:21 -08:00
Siiiiinth 138c2ba162 Merge branch 'main' into feature/shuffle 2026-01-25 18:48:23 +01:00
Drew Weymouth d681d87b31 Discussion #485: use SortName when sorting artist's albums by name 2026-01-25 09:00:28 -08:00