From 1f5907716fe56bb30f8e3ba8d2d3c1cd5d295eb5 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Thu, 28 May 2026 00:59:30 -0700 Subject: [PATCH] disable interval-based timeupdate scrobbles --- .../features/player/hooks/use-scrobble.ts | 63 +++++++++---------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/src/renderer/features/player/hooks/use-scrobble.ts b/src/renderer/features/player/hooks/use-scrobble.ts index 222115985..4650d6b40 100644 --- a/src/renderer/features/player/hooks/use-scrobble.ts +++ b/src/renderer/features/player/hooks/use-scrobble.ts @@ -180,9 +180,6 @@ export const useScrobble = () => { const currentSong = usePlayerStore.getState().getCurrentSong(); const mediaType = currentSong?._itemType.includes('song') ? 'song' : 'podcast'; - const serverId = currentSong?._serverId; - const server = getServerById(serverId); - const hasPlaybackReport = hasFeature(server, ServerFeature.REPORT_PLAYBACK); const useTicks = currentSong?._serverType === ServerType.JELLYFIN; const currentStatus = usePlayerStore.getState().player.status; const currentTime = properties.timestamp; @@ -239,36 +236,36 @@ export const useScrobble = () => { } // Send progress events every 10 seconds - if (hasPlaybackReport) { - const timeSinceLastProgress = currentTime - lastProgressEventRef.current; - if (timeSinceLastProgress >= 10) { - sendScrobble.mutate( - { - apiClientProps: { serverId: serverId || '' }, - query: { - albumId: currentSong.albumId, - event: 'timeupdate', - id: currentSong.id, - mediaType: mediaType, - playbackRate, - position: getPositionValue(currentTime, useTicks), - submission: false, - }, - }, - { - onSuccess: () => { - logFn.debug(logMsg[LogCategory.SCROBBLE].scrobbledTimeupdate, { - category: LogCategory.SCROBBLE, - meta: { - id: currentSong.id, - }, - }); - }, - }, - ); - lastProgressEventRef.current = currentTime; - } - } + // if (hasPlaybackReport) { + // const timeSinceLastProgress = currentTime - lastProgressEventRef.current; + // if (timeSinceLastProgress >= 10) { + // sendScrobble.mutate( + // { + // apiClientProps: { serverId: serverId || '' }, + // query: { + // albumId: currentSong.albumId, + // event: 'timeupdate', + // id: currentSong.id, + // mediaType: mediaType, + // playbackRate, + // position: getPositionValue(currentTime, useTicks), + // submission: false, + // }, + // }, + // { + // onSuccess: () => { + // logFn.debug(logMsg[LogCategory.SCROBBLE].scrobbledTimeupdate, { + // category: LogCategory.SCROBBLE, + // meta: { + // id: currentSong.id, + // }, + // }); + // }, + // }, + // ); + // lastProgressEventRef.current = currentTime; + // } + // } // Check if we should submit scrobble based on listened time if (!isCurrentSongScrobbledRef.current) {