From 88d3e336c87fd03ed56353ff557949ec18bb7b30 Mon Sep 17 00:00:00 2001 From: Honey Date: Fri, 19 Jun 2026 10:19:43 +0200 Subject: [PATCH] fix(backend): use searchTitle in YTM URL (was using raw title with release suffix) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit YTM search used `title` directly, so "recognize - Single" was searched on YouTube Music instead of "recognize" — causing no YTM results and falling through to the less reliable YouTube search cascade. Co-Authored-By: Claude Sonnet 4.6 --- backend/lib/ytdlp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/lib/ytdlp.js b/backend/lib/ytdlp.js index 59402c0..4f5067f 100644 --- a/backend/lib/ytdlp.js +++ b/backend/lib/ytdlp.js @@ -181,7 +181,7 @@ async function downloadTrack({ jobId, artist, rawArtist, albumArtist, title, alb const YTM_SONGS_PARAM = 'EgWKAQIIAWoKEAkQBRAKEAMQBA%3D%3D'; // Use original (raw) artist for YTM URL — better ranking since channel is in original language - const ytmQuery = `${rawArtist || mainArtist} - ${title}${albumQuerySuffix}`; + const ytmQuery = `${rawArtist || mainArtist} - ${searchTitle}${albumQuerySuffix}`; const ytmUrl = `https://music.youtube.com/search?q=${encodeURIComponent(ytmQuery)}¶ms=${YTM_SONGS_PARAM}`; const expectedAudio = path.join(dir, `${fileBase}.${CONFIG.audioFmt}`); const hasAudio = () => fs.existsSync(expectedAudio);