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

Handle MusicBrainz hydrate errors

Wrap /hydrate request in try/catch and set mbTrack to null on failure

Changed files
+12 -5
apps
api
src
+12 -5
apps/api/src/nowplaying/nowplaying.service.ts
··· 625 625 ); 626 626 627 627 if (!mbTrack?.trackMBID) { 628 - const response = await ctx.musicbrainz.post<MusicbrainzTrack>("/hydrate", { 629 - artist: track.artist.split(",").map((a) => ({ name: a.trim() })), 630 - name: track.title, 631 - }); 632 - mbTrack = response.data; 628 + try { 629 + const response = await ctx.musicbrainz.post<MusicbrainzTrack>( 630 + "/hydrate", 631 + { 632 + artist: track.artist.split(",").map((a) => ({ name: a.trim() })), 633 + name: track.title, 634 + }, 635 + ); 636 + mbTrack = response.data; 637 + } catch { 638 + mbTrack = null; 639 + } 633 640 } 634 641 635 642 track.mbId = mbTrack?.trackMBID;