A decentralized music tracking and discovery platform built on AT Protocol 🎵
listenbrainz spotify atproto lastfm musicbrainz scrobbling

fix: restore album parameter in scrobbleTrack function for improved matching

Changed files
+10 -3
apps
api
src
+10 -3
apps/api/src/nowplaying/nowplaying.service.ts
··· 610 610 .limit(1) 611 611 .then((rows) => rows[0]); 612 612 613 - const { data: mbTrack } = await ctx.musicbrainz.post<MusicbrainzTrack>( 613 + let { data: mbTrack } = await ctx.musicbrainz.post<MusicbrainzTrack>( 614 614 "/hydrate", 615 615 { 616 616 artist: track.artist.split(",").map((a) => ({ name: a.trim() })), 617 617 name: track.title, 618 - // temporarily disable album to see if it improves matching 619 - // album: track.album, 618 + album: track.album, 620 619 } 621 620 ); 621 + 622 + if (!mbTrack?.trackMBID) { 623 + const response = await ctx.musicbrainz.post<MusicbrainzTrack>("/hydrate", { 624 + artist: track.artist.split(",").map((a) => ({ name: a.trim() })), 625 + name: track.title, 626 + }); 627 + mbTrack = response.data; 628 + } 622 629 623 630 track.mbId = mbTrack?.trackMBID; 624 631