[READ-ONLY] Mirror of https://github.com/FoxxMD/multi-scrobbler. Scrobble plays from multiple sources to multiple clients docs.multi-scrobbler.app
deezer docker jellyfin koito lastfm listenbrainz maloja mopidy mpris music music-assistant plex scrobble self-hosted spotify subsonic tautulli youtube-music
0

Configure Feed

Select the types of activity you want to include in your feed.

fix(client): Correct SOT scrobble api requests to not have the same from/to value

FoxxMD (Jul 15, 2026, 5:34 PM UTC) c3cb3cf3 80962195

+7
+7
src/backend/scrobblers/AbstractScrobbleClient.ts
··· 830 830 }; 831 831 this.scrobbleSOTRanges.push(range); 832 832 } 833 + if(range.from === range.to) { 834 + // most apis don't allow same to/from 835 + // and this *probably* means we only have one play in recent history 836 + // so expand this with default padding to be safe 837 + range.from = range.from - DEFAULT_NEW_PADDING.asSeconds(); 838 + range.to = Math.min(dayjs().unix(), range.to + 30) // 30 seconds after "to", or now 839 + } 833 840 const cachedPlaysRes = await this.cache.cacheClientScrobbles.get<PlayObject[] | Error>(this.getScrobbleCacheKey(range.from, range.to)); 834 841 if(cachedPlaysRes instanceof Error) { 835 842 throw new SimpleError('Cannot get historical plays due to cached error', {cause: cachedPlaysRes, shortStack: true});