From 8e13786e6b6c1832d04d0f3d3c7839377bfd8c51 Mon Sep 17 00:00:00 2001 From: Honey Date: Tue, 28 Apr 2026 21:08:26 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20remix=20detection=20=E2=80=94=20official?= =?UTF-8?q?=20audio=20for=20normal=20tracks,=20no=20suffix=20for=20remixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remix titles (remix/edit/flip/vip/etc.) are specific enough without suffix. Normal tracks get 'official audio' to prefer audio over music videos. Original official-audio issue was only for remixes — now caught by regex. Co-Authored-By: Claude Sonnet 4.6 --- backend/novasonic-server.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/novasonic-server.js b/backend/novasonic-server.js index 2ea920a..5cd1371 100644 --- a/backend/novasonic-server.js +++ b/backend/novasonic-server.js @@ -179,7 +179,10 @@ async function downloadTrack({ jobId, artist, albumArtist, title, album, year, t } const outputTemplate = path.join(dir, `${trackPrefix}${safeTitle}.%(ext)s`); - const query = `${mainArtist} - ${title}`; + const isRemix = /\b(remix|edit|flip|vip|bootleg|mix|rework|cover)\b/i.test(title); + const query = isRemix + ? `${mainArtist} - ${title}` + : `${mainArtist} - ${title} official audio`; // Step 1: yt-dlp — audio only, no thumbnail (we embed iTunes artwork ourselves) const baseArgs = [