Image rendering + player resilience (#968, #980) #103

Merged
bvandeusen merged 11 commits from dev into main 2026-06-20 20:57:39 -04:00
Showing only changes of commit d05264ff80 - Show all commits
+5 -4
View File
@@ -70,13 +70,14 @@
// so the index in the playable list != the playlist position.
const clickedTrackID = data.tracks.find((t) => t.position === position)?.track_id;
const startIdx = live.findIndex((t) => t.id === clickedTrackID);
// #968: a system playlist played from its detail page gets the same
// self-heal closure as the home tile, so a stale snapshot re-pulls on
// total failure. (Source attribution is intentionally left to the home
// tile / shuffle path — this only adds the recovery closure.)
// #968: a system playlist played from its detail page is tagged with its
// source (so play_started advances the rotation, matching the home tile and
// the Android detail screen) and gets the self-heal closure so a stale
// snapshot re-pulls on total failure.
const variant = data.system_variant;
if (variant != null) {
playQueue(live, Math.max(0, startIdx), {
source: variant,
refetch: systemPlaylistRefetch({
variant,
playlistId: id,