aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2026-06-21 19:03:52 +0200
committerGitHub <noreply@github.com>2026-06-21 19:03:52 +0200
commit4e80648fd31e914be455525c39c6cacaeb8f4b67 (patch)
tree14620f88c0472010f29b948f4dc830aa2fc33003
parentf08a3f9fd94ef5bce971a6da6394d6bc699c1571 (diff)
parentce58e4400e5714d4afeaa517a021601395c51944 (diff)
Merge pull request #17146 from theguymadmax/fix-identify-searchHEADmaster
Fix Identify returning wrong results
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs12
1 files changed, 10 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index c2e523cfaf..118ccf8679 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -831,8 +831,16 @@ namespace MediaBrowser.Providers.Manager
var isLocalLocked = temp.Item.IsLocked;
if (!isLocalLocked && (options.ReplaceAllMetadata || options.MetadataRefreshMode > MetadataRefreshMode.ValidationOnly))
{
- var remoteResult = await ExecuteRemoteProviders(temp, logName, false, id, providers.OfType<IRemoteMetadataProvider<TItemType, TIdType>>(), cancellationToken)
- .ConfigureAwait(false);
+ var remoteProviders = providers.OfType<IRemoteMetadataProvider<TItemType, TIdType>>();
+
+ // When identifying, run the provider the user picked first so the correct IDs are used.
+ if (!string.IsNullOrEmpty(options.SearchResult?.SearchProviderName))
+ {
+ remoteProviders = remoteProviders
+ .OrderBy(i => string.Equals(i.Name, options.SearchResult.SearchProviderName, StringComparison.OrdinalIgnoreCase) ? 0 : 1);
+ }
+
+ var remoteResult = await ExecuteRemoteProviders(temp, logName, false, id, remoteProviders, cancellationToken).ConfigureAwait(false);
refreshResult.UpdateType |= remoteResult.UpdateType;
refreshResult.ErrorMessage = remoteResult.ErrorMessage;