From 0823c1ca860648127543dbd9d2eb9ea160ebabb5 Mon Sep 17 00:00:00 2001 From: Honey Date: Sat, 23 May 2026 23:45:40 +0200 Subject: [PATCH] fix: split on & when deriving artist folder name "Arriez & King Dif" was used as-is for the folder; now splits on , ; & so only the first artist is used: "Arriez". Co-Authored-By: Claude Sonnet 4.6 --- backend/lib/ytdlp.js | 2 +- backend/novasonic-server.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/lib/ytdlp.js b/backend/lib/ytdlp.js index 0d813d1..286750d 100644 --- a/backend/lib/ytdlp.js +++ b/backend/lib/ytdlp.js @@ -49,7 +49,7 @@ function buildVariantFilter(title) { async function downloadTrack({ jobId, artist, albumArtist, title, album, year, trackNum, totalTracks, discNum, discTotal, compilation, genre, artworkUrl, explicit, outputDir, durationMs, sourceUrl }) { const mainArtist = albumArtist || artist; - const safeArtist = sanitize(mainArtist.split(',')[0].trim()); + const safeArtist = sanitize(mainArtist.split(/[,;&]/)[0].trim()); const safeAlbum = sanitize(album || 'Singles'); const dir = path.join(outputDir || CONFIG.musicPath, safeArtist, safeAlbum); fs.mkdirSync(dir, { recursive: true }); diff --git a/backend/novasonic-server.js b/backend/novasonic-server.js index 13f3eca..d519b2c 100644 --- a/backend/novasonic-server.js +++ b/backend/novasonic-server.js @@ -718,7 +718,7 @@ app.post('/api/edit-metadata', async (req, res) => { const oldAlbumDir = path.dirname(currentFile); const oldArtistDir = path.dirname(oldAlbumDir); const newAlbumName = album ? sanitize(album) : path.basename(oldAlbumDir); - const newArtistName = normalAlbumArtist ? sanitize(normalAlbumArtist.split(/[,;]/)[0].trim()) : path.basename(oldArtistDir); + const newArtistName = normalAlbumArtist ? sanitize(normalAlbumArtist.split(/[,;&]/)[0].trim()) : path.basename(oldArtistDir); const newDir = path.join(CONFIG.musicPath, newArtistName, newAlbumName); if (newDir !== oldAlbumDir) {