Include album name in Soulseek search queries

Priority 0 query (artist + album + title) was gated behind a download
mode check that excluded Soulseek, the source that benefits most from
it. Soulseek searches match against file paths where users organize as
Artist/Album/Track — without the album name, ambiguous artist names
could match wrong-artist results (e.g. "Bleakness" as an album folder
instead of an artist). Removed the mode gate so all sources get the
most specific query first.
This commit is contained in:
Broque Thomas 2026-04-17 11:12:07 -07:00
parent a4415db339
commit 6989701d65
3 changed files with 7 additions and 5 deletions

View file

@ -458,11 +458,11 @@ class MusicMatchingEngine:
if album_name:
break
# PRIORITY 0: Try exact Artist + Album + Title (Best for OSTs)
# Often YouTube videos are titled "Artist - Album - Title" or similar
# Only include if mode is youtube or hybrid (safe for Soulseek default)
download_mode = config_manager.get('download_source.mode', 'soulseek')
if download_mode in ['youtube', 'tidal', 'qobuz', 'hifi', 'hybrid'] and album_name and album_name.lower() not in ['single', 'ep', 'greatest hits']:
# PRIORITY 0: Try exact Artist + Album + Title
# For Soulseek this matches the typical folder structure (Artist/Album/Track)
# and prevents wrong-artist downloads when the artist name appears as an album
# name in another artist's library. For other sources it narrows text search.
if album_name and album_name.lower() not in ['single', 'ep', 'greatest hits']:
album_clean = self.clean_album_name(album_name)
if album_clean:
# Standard query: Artist Album Title

View file

@ -22312,6 +22312,7 @@ def get_version_info():
"• Fix Spotify enrichment worker infinite loop on pre-matched artists",
"• Reject Qobuz 30-second sample/preview downloads",
"• Fix slskd timeout spam — dashboard and download status skip slskd polling when Soulseek is not active or disconnected",
"• Fix Soulseek search queries missing album name — reduces wrong-artist downloads",
],
},
{

View file

@ -3613,6 +3613,7 @@ const WHATS_NEW = {
{ title: 'Fix Watchlist Scan False Failures', desc: 'Artists with no new releases in the lookback window were incorrectly reported as scan failures. Empty discography now correctly treated as success' },
{ title: 'Fix Wishlist Album Remove', desc: 'Removing albums from the Wishlist Nebula now works — API accepts album_name as fallback when album_id is unavailable' },
{ title: 'Fix Soulseek Timeout Spam', desc: 'Dashboard stats and download status endpoints no longer poll slskd when Soulseek is not the active download source or is known to be disconnected. Eliminates connection timeout errors every 10 seconds for users who have a slskd URL configured but use YouTube/Tidal/etc.' },
{ title: 'Fix Soulseek Search Missing Album Name', desc: 'Soulseek search queries now include the album name (Artist + Album + Track) as the first search attempt for all download sources. Previously this was excluded for Soulseek-only mode, causing wrong-artist downloads when an artist name matched an album folder in another user\'s library' },
// --- April 15, 2026 ---
{ date: 'April 15, 2026' },