Drew Weymouth
2d864a5320
add support for OpenSubsonic playbackReport extension ( #910 )
...
* add support for OpenSubsonic playbackReport extension
* better style
2026-04-22 11:00:51 -07:00
tdakkota
cfa45a4647
feat(ipc): add an endpoint for getting current track ( #911 )
2026-04-20 19:36:11 -07:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
56546a9314
Bump github.com/pelletier/go-toml/v2 from 2.2.4 to 2.3.0 ( #892 )
...
Bumps [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml ) from 2.2.4 to 2.3.0.
- [Release notes](https://github.com/pelletier/go-toml/releases )
- [Commits](https://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0 )
---
updated-dependencies:
- dependency-name: github.com/pelletier/go-toml/v2
dependency-version: 2.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 15:53:51 -07:00
Drew Weymouth
84440f9935
support cover art for internet radio stations
2026-04-09 08:25:43 -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
7db96e8056
prepare for 0.21.1 release
2026-04-05 13:25:37 -07:00
Drew Weymouth
8636e54c3a
Fix #877 : use XML API for Funkwhale servers since they don't implement JSON correctly
2026-04-05 13:11:57 -07:00
tk
6aa53d6cfe
Merge pull request #896 from Tim-Kaiser/ISSUE-895
...
Fix #895 : Fix crash on track change and scrobble
2026-04-05 09:53:30 -07:00
Drew Weymouth
8fa6113969
fix syntax in go-version in workflow yml
2026-04-05 08:37:53 -07:00
Drew Weymouth
19f3180320
use latest go in CI builds
2026-04-05 08:36:50 -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 Weymouth and Claude 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 Weymouth and Claude 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
Coffeeicus
bb37bee16c
Add translation support with tr.json and update translations.go ( #887 )
...
* Update translations.go
* Create tr.json
2026-03-25 08:34:16 -07:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
65505b7d33
Bump github.com/zalando/go-keyring from 0.2.6 to 0.2.8 ( #886 )
...
Bumps [github.com/zalando/go-keyring](https://github.com/zalando/go-keyring ) from 0.2.6 to 0.2.8.
- [Release notes](https://github.com/zalando/go-keyring/releases )
- [Commits](https://github.com/zalando/go-keyring/compare/v0.2.6...v0.2.8 )
---
updated-dependencies:
- dependency-name: github.com/zalando/go-keyring
dependency-version: 0.2.8
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 10:11:10 -07:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0a7b7c6411
Bump actions/download-artifact from 4 to 8 ( #879 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4 to 8.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v4...v8 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 08:25:04 -07:00
Drew Weymouth and Claude 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
e23dfb8554
Fix #875 : ensure shuffle button on album/playlist/etc pages works regardless of queue shuffle
2026-03-13 07:59:09 -07:00
Drew Weymouth
9885b1c1ba
prepare for 0.21.0 release
2026-03-11 17:02:31 -07:00
Drew Weymouth
03fd760589
use JSON instead of XML in Subsonic API
2026-03-11 07:38:58 -07:00
Drew Weymouth
97df8f1f4b
use raw.githubusercontent url for icon
2026-03-10 19:03:21 -07:00
Drew Weymouth
5f02203803
use old fyne tool for release too
2026-03-10 18:52:33 -07:00
Drew Weymouth
d2b1a134a9
Merge pull request #871 from dweymouth/feat/consolidated-ci-release-workflows
...
Consolidate workflows into CI and release; add draft release on tag push
2026-03-10 18:49:05 -07:00
Drew Weymouth
6dc518a6ed
roll back to old fyne tool
2026-03-10 18:34:38 -07:00
Drew Weymouth and Claude Sonnet 4.6
ade47f3e72
Consolidate workflows into CI and release; add draft release on tag push
...
Replaces 7 separate workflow files with ci.yml (lint + all platform builds
on push to main and PRs) and release.yml (same builds + draft GitHub release
creation triggered by v* tags). Also fixes Ubuntu artifact name collision and
gives all output files descriptive names.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 15:57:38 -08:00
Drew Weymouth and Claude Sonnet 4.6
577cdcf97a
Bump mpv dll to 20260301-git-05fac7f
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 07:20:02 -08: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
02e12b3cbe
handle switch players while in pendingLoadPaused state
2026-03-05 06:59:28 -08:00
Drew Weymouth
cfcd7a52e4
delete accidental committed file
2026-03-05 06:54:51 -08:00
Drew Weymouth
c3b9763724
handle stop properly when pendingLoadPaused
2026-03-05 06:42:22 -08:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5030f3d2b8
Bump actions/upload-artifact from 6 to 7 ( #868 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-04 07:00:54 -08:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e487766ce7
Bump github.com/boxes-ltd/imaging from 1.7.4 to 1.7.5 ( #870 )
...
Bumps [github.com/boxes-ltd/imaging](https://github.com/boxes-ltd/imaging ) from 1.7.4 to 1.7.5.
- [Release notes](https://github.com/boxes-ltd/imaging/releases )
- [Commits](https://github.com/boxes-ltd/imaging/compare/v1.7.4...v1.7.5 )
---
updated-dependencies:
- dependency-name: github.com/boxes-ltd/imaging
dependency-version: 1.7.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 11:23:56 -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
47668bcec9
stop waveform from refreshing when unpausing the initial track
2026-02-27 08:29:57 -08:00
Masterlocker
cfd86b7a1f
Update pl.json (Polish language) ( #865 )
...
* Update pl.json (Polish language)
* Update pl.json
2026-02-26 07:24:55 -08:00
Drew Weymouth
6782e8d470
make sure waveform shows up for track loaded paused when starting app
2026-02-21 10:17:20 -08:00
Drew Weymouth and Claude Sonnet 4.6
dba540861f
fix: defer MPV playback start until user unpauses on session restore
...
Instead of play → pause → sleep → seek when restoring a paused session,
introduce loadTrackPaused which sets internal state and fires UI/OS
callbacks (song change, paused) without touching MPV. On Continue(),
detect pendingLoadPaused and start MPV playback from the saved position.
Also triggers waveform pre-generation for the paused track via the
onBeforeSongChange hook.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-21 09:40:59 -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 Weymouth and Claude 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
Drew Weymouth
e31f546e09
Merge pull request #815 from Tim-Kaiser/feature/shuffle
...
Shuffle play queue
2026-02-20 18:17:55 -08:00
Drew Weymouth
c462720424
fix bug where unshuffling while playing last track in linear queue order crashes at end of track
2026-02-20 18:11:17 -08:00
Drew Weymouth
68268c323b
fix order of operations when toggling shuffle
2026-02-20 17:46:37 -08:00
Siiiiinth
294be9a0a3
fix track restarting on shuffle
2026-02-20 16:16:52 +01: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 Weymouth
6b382c6293
Fix #857 : Clear in-memory cache as well as on disk
2026-02-19 08:27:32 -08:00
Drew Weymouth and Claude Sonnet 4.6
9dd606ce73
Normalize server URLs before connecting ( #861 )
...
* Fix #304 : normalize server URLs before connecting
Prepend http:// when no scheme is present and strip trailing slashes
for all server types. For Jellyfin, additionally strip /web/index.html
and /web path suffixes that users copy from the browser URL bar.
Normalization is applied in ServerManager.connect() on the by-value
parameter, so stored config is never mutated.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* move url normalize funcs
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-17 19:34:47 -08:00