diff options
| author | JPVenson <github@jpb.email> | 2025-02-02 02:09:14 +0000 |
|---|---|---|
| committer | JPVenson <github@jpb.email> | 2025-02-02 02:09:14 +0000 |
| commit | 17003f4d76c7c5e80c5b4d20ba19ade84803fea1 (patch) | |
| tree | 50d159016418a0e068c917f6d013b0b44cdf146b /Emby.Server.Implementations/Library/LibraryManager.cs | |
| parent | ebe89c07b39702a3b8205d2070d95a5f79d3b1d2 (diff) | |
| parent | ce64dbc034b2176d863fb598cf7079aa6a1fce55 (diff) | |
Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider
Diffstat (limited to 'Emby.Server.Implementations/Library/LibraryManager.cs')
| -rw-r--r-- | Emby.Server.Implementations/Library/LibraryManager.cs | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index 1fc9ccb14..19fb43bfc 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -755,14 +755,7 @@ namespace Emby.Server.Implementations.Library if (folder.Id.IsEmpty()) { - if (string.IsNullOrEmpty(folder.Path)) - { - folder.Id = GetNewItemId(folder.GetType().Name, folder.GetType()); - } - else - { - folder.Id = GetNewItemId(folder.Path, folder.GetType()); - } + folder.Id = GetNewItemId(folder.Path, folder.GetType()); } var dbItem = GetItemById(folder.Id) as BasePluginFolder; @@ -1057,9 +1050,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); + } } } |
