fix: use case-insensitive provider key matching

This commit is contained in:
2026-02-07 11:22:00 -05:00
parent c44e48a425
commit 210d18220b

View File

@@ -686,26 +686,31 @@ public class AdminController : ControllerBase
{ {
_logger.LogDebug("Track {Title} has ProviderIds: {Keys}", track.Title, string.Join(", ", providerIds.Keys)); _logger.LogDebug("Track {Title} has ProviderIds: {Keys}", track.Title, string.Join(", ", providerIds.Keys));
// Check for external provider keys FIRST // Check for external provider keys (case-insensitive)
if (providerIds.ContainsKey("SquidWTF")) // 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; isLocal = false;
externalProvider = "SquidWTF"; externalProvider = "SquidWTF";
_logger.LogDebug("✓ Track {Title} identified as SquidWTF", track.Title); _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; isLocal = false;
externalProvider = "Deezer"; externalProvider = "Deezer";
_logger.LogDebug("✓ Track {Title} identified as Deezer", track.Title); _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; isLocal = false;
externalProvider = "Qobuz"; externalProvider = "Qobuz";
_logger.LogDebug("✓ Track {Title} identified as Qobuz", track.Title); _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; isLocal = false;
externalProvider = "Tidal"; externalProvider = "Tidal";