瀏覽代碼

feat: always search Soulseek in parallel with cloud (chunk 2)

Remove the early return that skipped Soulseek when cloud results were
found. Now both sources are searched every time, giving users the
option to download a higher quality version even when the album exists
in their ChadMusic library.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
aldiss 2 月之前
父節點
當前提交
0797d71349
共有 1 個文件被更改,包括 2 次插入8 次删除
  1. 2 8
      Sources/Services/UnifiedSearchCoordinator.swift

+ 2 - 8
Sources/Services/UnifiedSearchCoordinator.swift

@@ -103,7 +103,7 @@ struct ScoredSoulseekSource: Identifiable {
 
 // MARK: - Coordinator
 
-/// Orchestrates cloud-first, Soulseek-fallback search.
+/// Orchestrates parallel cloud + Soulseek search.
 /// NOT a singleton — create one per search session.
 @MainActor
 @Observable
@@ -230,13 +230,7 @@ final class UnifiedSearchCoordinator {
             (album.artist?.lowercased().contains(lowerQuery) ?? false)
         }
 
-        // If we found cloud results, we're done
-        if !cloudResults.isEmpty {
-            phase = .done
-            return
-        }
-
-        // Step 2: No cloud results — try Soulseek if configured
+        // Step 2: Always search Soulseek in parallel (not just as fallback)
         guard slskd.isConfigured else {
             phase = .done
             return