aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/Validators
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2026-04-24 19:00:19 +0200
committerGitHub <noreply@github.com>2026-04-24 19:00:19 +0200
commita183fce142a47db3b2b9faa1e0f2863f0d56e5a1 (patch)
tree8637cf347d573917242a3c5546baee33028825a3 /Emby.Server.Implementations/Library/Validators
parentd1f242bc097b1530de27d5e74f303ff06096c294 (diff)
parentb1e2419c6593a3aa4c8df3778831a3214ae5a1c0 (diff)
Merge branch 'master' into Preservation-of-Watched-Status-on-Re-watch
Diffstat (limited to 'Emby.Server.Implementations/Library/Validators')
-rw-r--r--Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs
index 7cc851b73b..ef20ae9bca 100644
--- a/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs
+++ b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs
@@ -50,6 +50,10 @@ public class ArtistsValidator
public async Task Run(IProgress<double> progress, CancellationToken cancellationToken)
{
var names = _itemRepo.GetAllArtistNames();
+ var existingArtistIds = _libraryManager.GetItemIds(new InternalItemsQuery
+ {
+ IncludeItemTypes = [BaseItemKind.MusicArtist]
+ }).ToHashSet();
var numComplete = 0;
var count = names.Count;
@@ -59,8 +63,13 @@ public class ArtistsValidator
try
{
var item = _libraryManager.GetArtist(name);
+ var isNew = !existingArtistIds.Contains(item.Id);
+ var neverRefreshed = item.DateLastRefreshed == default;
- await item.RefreshMetadata(cancellationToken).ConfigureAwait(false);
+ if (isNew || neverRefreshed)
+ {
+ await item.RefreshMetadata(cancellationToken).ConfigureAwait(false);
+ }
}
catch (OperationCanceledException)
{