fix(ui): highlight/animate the playing row for offline-cache tracks

Local track rows bind the local-library DB row id, but local_queue_track
publishes the Qobuz catalog id for offline copies (so the shared
resolver finds them), so NowPlayingState.track-id never matched the
row: no equalizer bars, no active highlight, and double-click restarted
the track instead of toggling (album view, Tracks tab, folder detail,
kiosk).

Carry the library row id in source_item_id_hint for qobuz_download and
re-publish it as NowPlayingState.local-track-id; TrackPlayCell,
TrackRow and KioskAlbum now match on either id — one alias, no
per-view hacks.

km
This commit is contained in:
vicrodh committed 2026-07-19 16:08:02 -06:00
1 parent 1adf4e6f9d
commit c6da484481
5 files changed
+30 -3

No files matched your search

+5
View File
@@ -4188,6 +4188,11 @@ export global WindowControlActions {
export global NowPlayingState {
in property <bool> has-track: false;
in property <string> title;
// Secondary alias for the playing track: the LOCAL-LIBRARY ROW ID when the
// track is an offline-cache copy (queue track-id carries the Qobuz catalog
// id there; set by refresh_now_playing_meta in playback.rs). Empty for every
// other source. TrackPlayCell / TrackRow / KioskAlbum match on either id.
in property <string> local-track-id;
in property <string> artist;
in property <string> album;
in property <string> album-id;