fix(backend): strip release suffix from title metadata tag

searchTitle (e.g. "recognize") is now passed to embedMetadata instead of
the raw title ("recognize - Single"), so the ID3 title tag matches the
actual song name. Album tag stays unchanged ("recognize - Single").

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Sonnet 4.6 committed 2026-06-19 10:44:13 +02:00
1 parent bb0be52f46
commit ce4577e8f4
1 file changed
+2 -2
+2 -2
View File
@@ -195,7 +195,7 @@ async function downloadTrack({ jobId, artist, rawArtist, albumArtist, title, alb
await spawnYtdlp([sourceUrl, '--no-playlist', ...baseArgs]); await spawnYtdlp([sourceUrl, '--no-playlist', ...baseArgs]);
const audioFile = hasAudio() ? expectedAudio : null; const audioFile = hasAudio() ? expectedAudio : null;
if (!audioFile) { log(jobId, '⚠️ Download fehlgeschlagen'); return { success: true, dir }; } if (!audioFile) { log(jobId, '⚠️ Download fehlgeschlagen'); return { success: true, dir }; }
return embedMetadata({ jobId, audioFile, dir, trackPrefix, safeTitle, rawArtist, artist, mainArtist, album, year, trackNum, totalTracks, discNum, discTotal, compilation, genre, artworkUrl, explicit, title }); return embedMetadata({ jobId, audioFile, dir, trackPrefix, safeTitle, rawArtist, artist, mainArtist, album, year, trackNum, totalTracks, discNum, discTotal, compilation, genre, artworkUrl, explicit, title: searchTitle });
} }
// Fetch YTM search result URLs as a flat list (no channel expansion) and return only // Fetch YTM search result URLs as a flat list (no channel expansion) and return only
@@ -346,7 +346,7 @@ async function downloadTrack({ jobId, artist, rawArtist, albumArtist, title, alb
return { success: true, dir }; return { success: true, dir };
} }
return embedMetadata({ jobId, audioFile, dir, trackPrefix, safeTitle, rawArtist, artist, mainArtist, album, year, trackNum, totalTracks, discNum, discTotal, compilation, genre, artworkUrl, explicit, title }); return embedMetadata({ jobId, audioFile, dir, trackPrefix, safeTitle, rawArtist, artist, mainArtist, album, year, trackNum, totalTracks, discNum, discTotal, compilation, genre, artworkUrl, explicit, title: searchTitle });
} }
// Shared ffmpeg metadata embedding — used by both yt-dlp and squid paths // Shared ffmpeg metadata embedding — used by both yt-dlp and squid paths