From 04f7c7fdd4c515f88d26eecf152c4e6ceaba2505 Mon Sep 17 00:00:00 2001 From: Kendall Garner <17521368+kgarner7@users.noreply.github.com> Date: Sun, 18 Jan 2026 18:18:36 -0800 Subject: [PATCH] fix(remote): proper image when mpris and remote interleave --- src/main/features/core/remote/index.ts | 5 ++++- src/preload/remote.ts | 4 ++-- src/renderer/features/player/update-remote-song.tsx | 2 +- src/renderer/features/remote/hooks/use-remote.tsx | 6 ++++-- 4 files changed, 11 insertions(+), 6 deletions(-) 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); }