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.
This commit is contained in:
parent
76ff98261b
commit
b498012c42
1 changed files with 30 additions and 0 deletions
|
|
@ -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…
Reference in a new issue