diff --git a/allstarr/Controllers/AdminController.cs b/allstarr/Controllers/AdminController.cs index f16ee72..a1a788b 100644 --- a/allstarr/Controllers/AdminController.cs +++ b/allstarr/Controllers/AdminController.cs @@ -686,26 +686,31 @@ public class AdminController : ControllerBase { _logger.LogDebug("Track {Title} has ProviderIds: {Keys}", track.Title, string.Join(", ", providerIds.Keys)); - // Check for external provider keys FIRST - if (providerIds.ContainsKey("SquidWTF")) + // Check for external provider keys (case-insensitive) + // External providers: squidwtf, deezer, qobuz, tidal (lowercase) + var providerKey = providerIds.Keys.FirstOrDefault(k => + k.Equals("squidwtf", StringComparison.OrdinalIgnoreCase) || + k.Equals("SquidWTF", StringComparison.OrdinalIgnoreCase)); + + if (providerKey != null) { isLocal = false; externalProvider = "SquidWTF"; _logger.LogDebug("✓ Track {Title} identified as SquidWTF", track.Title); } - else if (providerIds.ContainsKey("Deezer")) + else if ((providerKey = providerIds.Keys.FirstOrDefault(k => k.Equals("deezer", StringComparison.OrdinalIgnoreCase))) != null) { isLocal = false; externalProvider = "Deezer"; _logger.LogDebug("✓ Track {Title} identified as Deezer", track.Title); } - else if (providerIds.ContainsKey("Qobuz")) + else if ((providerKey = providerIds.Keys.FirstOrDefault(k => k.Equals("qobuz", StringComparison.OrdinalIgnoreCase))) != null) { isLocal = false; externalProvider = "Qobuz"; _logger.LogDebug("✓ Track {Title} identified as Qobuz", track.Title); } - else if (providerIds.ContainsKey("Tidal")) + else if ((providerKey = providerIds.Keys.FirstOrDefault(k => k.Equals("tidal", StringComparison.OrdinalIgnoreCase))) != null) { isLocal = false; externalProvider = "Tidal";