diff --git a/backend/novasonic-server.js b/backend/novasonic-server.js index 02bc60b..bb4962f 100644 --- a/backend/novasonic-server.js +++ b/backend/novasonic-server.js @@ -439,8 +439,7 @@ function _spAllArtists(artistsRaw) { if (!artistsRaw) return ''; // Handle both array format and GraphQL {items:[...]} format const arr = Array.isArray(artistsRaw) ? artistsRaw : (artistsRaw.items || []); - // Use " / " so Navidrome splits on "/" into multiple artists - return arr.map(a => a?.profile?.name || a?.name || '').filter(Boolean).join(' / '); + return arr.map(a => a?.profile?.name || a?.name || '').filter(Boolean).join(', '); } function _spArtistName(artistsRaw) { @@ -462,8 +461,7 @@ function _spTrackItem(t, defaultAlbum, defaultArt, defaultAlbumArtist) { if (d?.artists) { artist = _spAllArtists(d.artists); } else if (typeof d?.subtitle === 'string' && d.subtitle) { - // Spotify subtitle separates artists with ", " — convert to " / " for Navidrome splitting - artist = d.subtitle.replace(/,\s*/g, ' / '); + artist = d.subtitle; // already comma-separated, matches iTunes/Spotify standard } artist = artist || defaultAlbumArtist || '';