diff --git a/src/main/features/core/remote/index.ts b/src/main/features/core/remote/index.ts index 8b1110592..6e5a7aff1 100644 --- a/src/main/features/core/remote/index.ts +++ b/src/main/features/core/remote/index.ts @@ -620,8 +620,11 @@ ipcMain.on('update-playback', (_event, status: PlayerStatus) => { broadcast({ data: status, event: 'playback' }); }); -ipcMain.on('update-song', (_event, song: QueueSong | undefined) => { +ipcMain.on('update-song', (_event, song: QueueSong | undefined, imageUrl?: null | string) => { const songChanged = song?.id !== currentState.song?.id; + if (song) { + song.imageUrl = imageUrl || null; + } currentState.song = song; if (songChanged) { diff --git a/src/preload/remote.ts b/src/preload/remote.ts index dd5f348e9..ebc6d8c6e 100644 --- a/src/preload/remote.ts +++ b/src/preload/remote.ts @@ -73,8 +73,8 @@ const updateShuffle = (shuffle: boolean) => { ipcRenderer.send('update-shuffle', shuffle); }; -const updateSong = (args: QueueSong | undefined) => { - ipcRenderer.send('update-song', args); +const updateSong = (song: QueueSong | undefined, imageUrl?: null | string) => { + ipcRenderer.send('update-song', song, imageUrl); }; const updateUsername = (username: string) => { diff --git a/src/renderer/features/player/update-remote-song.tsx b/src/renderer/features/player/update-remote-song.tsx index 461822ed9..4c4ee19a4 100644 --- a/src/renderer/features/player/update-remote-song.tsx +++ b/src/renderer/features/player/update-remote-song.tsx @@ -31,5 +31,5 @@ export const updateSong = (song: QueueSong | undefined, imageUrl?: null | string mediaSession.metadata = metadata; } - remote?.updateSong(song); + remote?.updateSong(song, imageUrl); }; diff --git a/src/renderer/features/remote/hooks/use-remote.tsx b/src/renderer/features/remote/hooks/use-remote.tsx index b06f844ae..67854b89b 100644 --- a/src/renderer/features/remote/hooks/use-remote.tsx +++ b/src/renderer/features/remote/hooks/use-remote.tsx @@ -173,7 +173,8 @@ export const useRemote = () => { type: 'itemCard', useRemoteUrl: true, }) || null; - remote.updateSong({ ...currentSong, imageUrl }); + + remote.updateSong(currentSong, imageUrl); } }, [isRemoteEnabled, player]); @@ -204,7 +205,8 @@ export const useRemote = () => { type: 'itemCard', useRemoteUrl: true, }) || null; - remote.updateSong({ ...song, imageUrl }); + + remote.updateSong(song, imageUrl); } else { remote.updateSong(undefined); }