Removing CollectionFolders from cache when they are deleted on disk. (#13315)

This commit is contained in:
sinterdev 2025-01-30 20:43:37 -05:00 committed by GitHub
parent 4fa2f2475c
commit ce64dbc034
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1049,9 +1049,17 @@ namespace Emby.Server.Implementations.Library
cancellationToken: cancellationToken).ConfigureAwait(false);
// Quickly scan CollectionFolders for changes
foreach (var folder in GetUserRootFolder().Children.OfType<Folder>())
foreach (var child in GetUserRootFolder().Children.OfType<Folder>())
{
await folder.RefreshMetadata(cancellationToken).ConfigureAwait(false);
// If the user has somehow deleted the collection directory, remove the metadata from the database.
if (child is CollectionFolder collectionFolder && !Directory.Exists(collectionFolder.Path))
{
_itemRepository.DeleteItem(collectionFolder.Id);
}
else
{
await child.RefreshMetadata(cancellationToken).ConfigureAwait(false);
}
}
}