From 82fed6ea6ea274f038d766b7be81e5fa1aa999ea Mon Sep 17 00:00:00 2001 From: Connor Johnstone Date: Tue, 24 Mar 2026 11:38:07 -0400 Subject: [PATCH] fixed up the featured artist thing --- src/tagger.rs | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/tagger.rs b/src/tagger.rs index 0fd6c1e..0f7514b 100644 --- a/src/tagger.rs +++ b/src/tagger.rs @@ -105,18 +105,23 @@ pub async fn tag_track( (details, best_release) }; - // Upsert primary artist with MusicBrainz ID - let artist_id = match &details.artist_mbid { - Some(mbid) => Some( - queries::artists::upsert(conn, &details.artist, Some(mbid)) - .await? - .id, - ), - None => Some( - queries::artists::upsert(conn, &details.artist, None) - .await? - .id, - ), + // Use existing artist_id if already set (e.g., from download pipeline). + // Only upsert from MB when the track has no artist association yet. + let artist_id = if track.artist_id.is_some() { + track.artist_id + } else { + match &details.artist_mbid { + Some(mbid) => Some( + queries::artists::upsert(conn, &details.artist, Some(mbid)) + .await? + .id, + ), + None => Some( + queries::artists::upsert(conn, &details.artist, None) + .await? + .id, + ), + } }; // Upsert album from best release