[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(rocksky): Remove undefined keys from payload before sending

FoxxMD (Jul 22, 2026, 3:38 PM UTC) de0d3363 65d0c7c1

+3 -2
+3 -2
src/backend/common/vendor/RockSkyApiClient.ts
··· 21 21 import type { MSCache } from "../Cache.ts"; 22 22 import type {HandleData} from "../infrastructure/config/client/atproto.ts"; 23 23 import { parseRegexSingle } from "@foxxmd/regex-buddy-core"; 24 + import { removeUndefinedKeys } from "../../../core/DataUtils.ts"; 24 25 25 26 interface SubmitOptions { 26 27 log?: boolean ··· 230 231 throw new ScrobbleSubmitError(`Error occurred while making Rocksky API scrobble (${listenType}) request`, {cause: e, payload: submitPayload}); 231 232 } 232 233 } else { 233 - const payload = playToRockskyRecord(play); 234 + const payload = removeUndefinedKeys(playToRockskyRecord(play)); 234 235 if(log) { 235 236 this.logger.debug(`Submit Payload: ${JSON.stringify(payload)}`); 236 237 } 237 - const resp = await this.rsClient.scrobble.createScrobble(playToRockskyRecord(play)); 238 + const resp = await this.rsClient.scrobble.createScrobble(payload); 238 239 return {payload, response: resp, createdAt: dayjs().toISOString()} 239 240 } 240 241 }