feat(qconnect): route player + miniplayer seek through set_position_if_remote

handleSeek now tries the remote renderer before the local engine,
matching the volume/mute/stop if_remote pattern.

cc
This commit is contained in:
vicrodh committed 2026-06-01 03:14:03 -06:00
1 parent b6bf833ba9
commit 8256cc3122
2 files changed
+20 -2

No files matched your search

+8 -1
View File
@@ -2871,7 +2871,14 @@
} }
// Playback controls (delegating to playerStore) // Playback controls (delegating to playerStore)
function handleSeek(time: number) { async function handleSeek(time: number) {
try {
const positionMs = Math.max(0, Math.round(time * 1000));
const handledRemotely = await invoke<boolean>('v2_qconnect_set_position_if_remote', { positionMs });
if (handledRemotely) return;
} catch {
// Fall through to local
}
playerSeek(time); playerSeek(time);
} }
+12 -1
View File
@@ -330,6 +330,17 @@
await toggleMute(); await toggleMute();
} }
async function handleSeek(time: number): Promise<void> {
try {
const positionMs = Math.max(0, Math.round(time * 1000));
const handledRemotely = await invoke<boolean>('v2_qconnect_set_position_if_remote', { positionMs });
if (handledRemotely) return;
} catch {
// Fall through to local
}
playerSeek(time);
}
async function handleTogglePlay(): Promise<void> { async function handleTogglePlay(): Promise<void> {
try { try {
const handledRemotely = await invoke<boolean>('v2_qconnect_toggle_play_if_remote'); const handledRemotely = await invoke<boolean>('v2_qconnect_toggle_play_if_remote');
@@ -544,7 +555,7 @@
onTogglePlay={handleTogglePlay} onTogglePlay={handleTogglePlay}
onSkipBack={handleSkipBack} onSkipBack={handleSkipBack}
onSkipForward={handleSkipForward} onSkipForward={handleSkipForward}
onSeek={playerSeek} onSeek={handleSeek}
onVolumeChange={handleVolumeChange} onVolumeChange={handleVolumeChange}
onToggleMute={handleToggleMute} onToggleMute={handleToggleMute}
onToggleShuffle={handleToggleShuffle} onToggleShuffle={handleToggleShuffle}