Drew Weymouth
b52aa5b36f
rate-current CLI option ( #847 )
2026-02-07 10:18:51 -08: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
Gianluca Boiano
2e33b81914
Improve code quality and thread safety ( #844 )
...
- Format Go files (gofmt) for backend/windows/notify*.go
- Add thread safety to Stopwatch with sync.Mutex
- Add comprehensive unit tests for Stopwatch with race detection
- Add godoc comments to ImageCache public APIs
- Improve IPC documentation with platform-specific socket path details
- Document portable mode TODO for future enhancement
2026-02-03 11:39:47 -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
Gianluca Boiano
43e8d0a453
Optimize resource usage in waveform generation and image cache
...
- Replace sleep-based polling in waveform generation with channel-based
synchronization to reduce CPU usage and improve responsiveness
- Add sync.Pool for audio buffers in waveform analysis to reduce memory
allocations
- Fix critical bug in ImageCache where struct field updates were not
being persisted to the map, causing LRU tracking to fail
- Optimize ImageCache evictOne() to use single pass instead of two
separate iterations through all cache items
- Upgrade read locks to write locks in ImageCache Get methods to ensure
struct updates are properly saved
2026-02-01 22:29:28 +01:00
Gianluca Boiano
53b91f5d43
Disable waveform seekbar by default
2026-02-01 22:18:18 +01:00
Drew Weymouth
9aeb7d0bd2
Fix #798 : Migrate SkipSSLVerify setting to per-server
2026-01-29 08:35:21 -08:00
Drew Weymouth
7b09418017
Fix #614 : Update go-upnpcast for device discovery fix
2026-01-28 19:34:38 -08:00
Gianluca Boiano and Drew Weymouth
6c038df537
Fix equalizer audio filter string construction ( #834 )
...
* Fix equalizer audio filter string construction
* some code style cleanup
* import strings
---------
Co-authored-by: Drew Weymouth <dweymouth@users.noreply.github.com >
2026-01-28 19:32:16 -08:00
Gianluca Boiano
c692fbf1ee
Update tooling and fix build issues
...
- Migrate golangci-lint config to v2 format
- Update GitHub Actions: checkout v3→v4, Go 1.24→1.25
- Update golangci-lint-action v6→v9 with golangci-lint v2.8
- Fix dlnaplayer.go: use RequestHandler interface for go-upnpcast
- Fix go.mod replace directive version mismatch for fyne fork
2026-01-26 22:30:12 +01:00
Drew Weymouth
d681d87b31
Discussion #485 : use SortName when sorting artist's albums by name
2026-01-25 09:00:28 -08:00
Drew Weymouth
e6127ccc11
#782 for Jellyfin: treat usernames as case-insensitive
2026-01-24 11:05:12 -08:00
Drew Weymouth
8e2e4c6d89
Fix #810 : only enqueue autoplay tracks when 10 sec from end of play queue
2026-01-24 10:23:35 -08:00
zacaj
7c9b4074cb
setting to disable fade out on pause
2026-01-17 05:08:12 +00:00
Drew Weymouth
6be5e2d4cb
Fix #809 - check last instead of first lyric timestamp to check if synced
2026-01-16 09:06:58 -08:00
Siiiiinth
79024784ec
cycle the playQueue from lastTrack -> firstTrack when clicking Next on lastTrack
2026-01-09 09:35:26 +01:00
Siiiiinth
2c19f9f926
cycle album when loopAll is checked
2026-01-08 23:02:06 +01:00
Siiiiinth
62332551ed
fixed ForceRestartPlayback
2026-01-05 00:29:37 +01:00
Siiiiinth
81c935fdd0
moved logic to playbackengine, forceRestart preserves pause state
2026-01-05 00:25:33 +01:00
Siiiiinth
0bdc991dc8
renamed stopAfterCurrent -> pauseAfterCurrent
2026-01-03 19:21:47 +01:00
Siiiiinth
68b7456b31
fixed stopAfterCurrent bug
2025-12-26 23:09:44 +01:00
Drew Weymouth
5c209c0412
Fix #775 : quickly fade out mpv player on pause
2025-12-03 07:08:56 -08:00
Drew Weymouth
5e6b1de522
Fix #774 : Make headers for Album, Artist, Playlist page collapsible / compact
2025-12-02 08:35:03 -08:00
Drew Weymouth
2afef81a11
add setting to disable rounded image corners
2025-11-15 10:36:07 -08:00
Drew Weymouth
e883c387f3
#748 : LrcLib fetcher - don't crash if song has no artist name tagged
2025-11-14 08:40:47 -08:00
Drew Weymouth
a884795a78
Merge pull request #753 from zacaj/feature/dateAdded-genre-albumArtist-cols
...
add columns for Date Added, Genre, Album Artist, File Type
2025-11-13 08:22:03 -08:00
Drew Weymouth
7266030e43
try to make playback index out of range log more useful
2025-11-11 08:36:34 -08:00
zacaj
7058f74d42
(partial) Fix #742 : add Genre, Album Artist, File Type columns
2025-11-11 03:36:33 +00:00
zacaj
b0d918b93e
(partial) Fix #742 : add Date Added column
2025-11-11 03:36:30 +00:00
Drew Weymouth
8b73765a7d
Fix #745 : add option to prevent screensaver on Now Playing page
2025-11-10 08:12:46 -08:00
Drew Weymouth
828b5ffc56
option to use blurred cover art for Now Playing page background
2025-11-08 14:22:35 -08:00
Drew Weymouth
f48b2ba210
Fix #660 : add cover art, silent property to Windows track change notification
2025-11-08 08:16:48 -08:00
Drew Weymouth
0ff57513c2
add button to Advanced settings tab to clear caches
2025-11-07 19:48:09 -08:00
Drew Weymouth
33eb081ff9
save selected sidebar tab
2025-11-01 12:45:09 -07:00
Drew Weymouth
694e59d5b6
fix bug where only one lyrics viewer loads if both are visible
2025-11-01 12:28:25 -07:00
Drew Weymouth
61a04e86b5
add new lyricsmanager missed in last commit
2025-11-01 11:26:49 -07:00
Drew Weymouth
711d564509
refactor: extract lyric fetching logic to LyricsManager
2025-11-01 09:58:30 -07:00
Drew Weymouth
887d3bb2c7
Fix #579 : Save play queue on all queue changes
2025-10-09 08:13:56 -07:00
Drew Weymouth
27ae29a88c
add play queue sidebar
2025-10-05 11:20:27 -07:00
Drew Weymouth
ddd96803b3
Merge branch 'main' into feature/new-playlist-btn
2025-09-27 07:50:02 -07:00
Drew Weymouth
06b57d27d7
Fix #716 : add "Last played" tracklist columnn
2025-09-25 09:37:14 -07:00
Drew Weymouth
4c1a95e851
add settings for skipping one-star or tracks with keyword ( #724 )
2025-09-24 18:59:55 -07:00
Drew Weymouth
2fa0234321
omit album and artist from LrcLib search if unknown/emtpy
2025-09-22 18:45:00 -07:00
Drew Weymouth
a55b7216d5
implement CreatePlaylist button for jellyfin
2025-09-22 17:22:43 -07:00
Jacalz
ebc5b7e039
Fix all staticcheck errors that are not deprecations
2025-09-17 22:39:36 +02:00
Jacalz
08f335da44
Run gofumpt on the project
2025-09-17 22:30:49 +02:00
Jacalz
534a7bfaaf
Run modernise on the project
...
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 ./...
2025-09-17 22:28:16 +02:00
Drew Weymouth
6ea3499491
add 'New Playlist' button to Playlists page
2025-09-17 08:55:35 -07:00
Drew Weymouth
bacdaeccfb
Fix #691 : update jellyfin client lib for transcoding fix
2025-09-06 11:18:04 -07:00
Drew Weymouth
2ca19acef8
Fix #703 : don't crash if there are fewer than 20 random albums
2025-09-05 16:01:09 -07:00