A decentralized music tracking and discovery platform built on AT Protocol 🎵

fix: add artist mismatch check in scrobble_listenbrainz function

authored by tsiry-sandratraina.com and committed by

Tangled 24342ac7 755ccae8

+14
+14
crates/scrobbler/src/scrobbler.rs
··· 610 610 .await?; 611 611 612 612 if let Some(track) = result.tracks.items.first() { 613 + let artists = track 614 + .artists 615 + .iter() 616 + .map(|a| a.name.clone()) 617 + .collect::<Vec<_>>() 618 + .join(", ") 619 + .to_lowercase(); 620 + 621 + // check if artists don't contain the scrobble artist (to avoid wrong matches) 622 + if !artists.contains(&scrobble.artist.to_lowercase()) { 623 + tracing::warn!(artist = %artist, track = %track, "Artist mismatch, skipping"); 624 + return Ok(()); 625 + } 626 + 613 627 tracing::info!("Spotify (track)"); 614 628 scrobble.album = Some(track.album.name.clone()); 615 629 let mut track = track.clone();