navidrome/core/playback
fossisawesome-macbook-with-linux 144d048e7a fix(jukebox): guard scrobbleCtx with a mutex and fall back client ids
scrobbleCtx is written from request-handling goroutines (Start/Skip/
Clear) and read from the async trackSwitcherGoroutine, which is a data
race on the context.Context interface value. Guard it with a RWMutex
and read it through a getScrobbleCtx() accessor.

Also fall back clientId/client to device-scoped values when the
context has none, so an empty clientId can't collide with another
player's session key in the scrobbler's playMap cache.

Addresses review feedback from gemini-code-assist on #5716.
2026-07-05 00:30:58 -04:00
..
mpv refactor: more warnings clean up 2026-05-20 17:43:12 -03:00
device.go fix(jukebox): guard scrobbleCtx with a mutex and fall back client ids 2026-07-05 00:30:58 -04:00
playback_suite_test.go Jukebox mode (#2289) 2023-09-10 11:25:22 -04:00
playbackserver.go fix(jukebox): scrobble and count plays for jukebox playback 2026-07-04 23:39:35 -04:00
queue.go refactor: run Go modernize (#5002) 2026-02-08 09:57:30 -05:00
queue_test.go Jukebox mode (#2289) 2023-09-10 11:25:22 -04:00