From b498012c42180a92f6619c56a818c1a71f988b8f Mon Sep 17 00:00:00 2001 From: Broque Thomas <26755000+Nezreka@users.noreply.github.com> Date: Tue, 14 Apr 2026 20:00:45 -0700 Subject: [PATCH] Restore mini player UI on page refresh when stream is still active After a page refresh JS state is wiped, so currentTrack is null and the player widget stays hidden even though the backend is still streaming. The backend already includes track_info (name/artist/album/image_url) in every tool:stream push. The 'ready' case in both handlers now calls setTrackInfo() when no track is loaded, which unhides the player and populates title/artist before startAudioPlayback() runs. --- webui/static/script.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/webui/static/script.js b/webui/static/script.js index 51f26bc7..a1b4d692 100644 --- a/webui/static/script.js +++ b/webui/static/script.js @@ -3585,6 +3585,21 @@ async function updateStreamStatus() { // Stream is ready - start audio playback console.log('🎵 Stream ready, starting audio playback'); stopStreamStatusPolling(); + // Restore player UI if JS state was wiped (e.g. page refresh) + if (!currentTrack && data.track_info) { + const ti = data.track_info; + setTrackInfo({ + title: ti.name || ti.title || 'Unknown Track', + artist: ti.artist || 'Unknown Artist', + album: ti.album || 'Unknown Album', + filename: ti.filename || '', + is_library: !!ti.is_library, + image_url: ti.image_url || null, + id: ti.id || null, + artist_id: ti.artist_id || null, + album_id: ti.album_id || null, + }); + } await startAudioPlayback(); break; @@ -3660,6 +3675,21 @@ function updateStreamStatusFromData(data) { case 'ready': console.log('🎵 Stream ready, starting audio playback'); stopStreamStatusPolling(); + // Restore player UI if JS state was wiped (e.g. page refresh) + if (!currentTrack && data.track_info) { + const ti = data.track_info; + setTrackInfo({ + title: ti.name || ti.title || 'Unknown Track', + artist: ti.artist || 'Unknown Artist', + album: ti.album || 'Unknown Album', + filename: ti.filename || '', + is_library: !!ti.is_library, + image_url: ti.image_url || null, + id: ti.id || null, + artist_id: ti.artist_id || null, + album_id: ti.album_id || null, + }); + } startAudioPlayback(); break; case 'error':