gnattu 1 month ago committed by GitHub
commit 63bae31d84
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -1038,6 +1038,7 @@ namespace Emby.Server.Implementations.Library
new Progress<double>(), new Progress<double>(),
new MetadataRefreshOptions(new DirectoryService(_fileSystem)), new MetadataRefreshOptions(new DirectoryService(_fileSystem)),
recursive: false, recursive: false,
allowRemoveRoot: removeRoot,
cancellationToken: cancellationToken).ConfigureAwait(false); cancellationToken: cancellationToken).ConfigureAwait(false);
await GetUserRootFolder().RefreshMetadata(cancellationToken).ConfigureAwait(false); await GetUserRootFolder().RefreshMetadata(cancellationToken).ConfigureAwait(false);

@ -159,7 +159,7 @@ namespace MediaBrowser.Controller.Entities
{ {
ClearCache(); ClearCache();
await base.ValidateChildrenInternal(progress, recursive, refreshChildMetadata, false, refreshOptions, directoryService, cancellationToken) await base.ValidateChildrenInternal(progress, recursive, refreshChildMetadata, allowRemoveRoot, refreshOptions, directoryService, cancellationToken)
.ConfigureAwait(false); .ConfigureAwait(false);
ClearCache(); ClearCache();

@ -333,8 +333,13 @@ namespace MediaBrowser.Controller.Entities
} }
} }
private static bool IsLibraryFolderAccessible(IDirectoryService directoryService, BaseItem item) private static bool IsLibraryFolderAccessible(IDirectoryService directoryService, BaseItem item, bool checkCollection)
{ {
if (!checkCollection && (item is BoxSet || string.Equals(item.FileNameWithoutExtension, "collections", StringComparison.OrdinalIgnoreCase)))
{
return true;
}
// For top parents i.e. Library folders, skip the validation if it's empty or inaccessible // For top parents i.e. Library folders, skip the validation if it's empty or inaccessible
if (item.IsTopParent && !directoryService.IsAccessible(item.ContainingFolderPath)) if (item.IsTopParent && !directoryService.IsAccessible(item.ContainingFolderPath))
{ {
@ -347,7 +352,7 @@ namespace MediaBrowser.Controller.Entities
private async Task ValidateChildrenInternal2(IProgress<double> progress, bool recursive, bool refreshChildMetadata, bool allowRemoveRoot, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, CancellationToken cancellationToken) private async Task ValidateChildrenInternal2(IProgress<double> progress, bool recursive, bool refreshChildMetadata, bool allowRemoveRoot, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, CancellationToken cancellationToken)
{ {
if (!IsLibraryFolderAccessible(directoryService, this)) if (!IsLibraryFolderAccessible(directoryService, this, allowRemoveRoot))
{ {
return; return;
} }
@ -388,7 +393,7 @@ namespace MediaBrowser.Controller.Entities
foreach (var child in nonCachedChildren) foreach (var child in nonCachedChildren)
{ {
if (!IsLibraryFolderAccessible(directoryService, child)) if (!IsLibraryFolderAccessible(directoryService, child, allowRemoveRoot))
{ {
continue; continue;
} }

Loading…
Cancel
Save