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.
pull/301/head
Broque Thomas 1 week ago
parent 76ff98261b
commit b498012c42

@ -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':

Loading…
Cancel
Save