From 4b48cad6f79123c25bb3c15c006afd27f0b49e45 Mon Sep 17 00:00:00 2001 From: Shadowghost Date: Sat, 14 Mar 2026 19:57:18 +0100 Subject: [PATCH] Don't throw if path is missing --- .../Providers/DirectoryService.cs | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs index a1edfa3c96..5b5af75a47 100644 --- a/MediaBrowser.Controller/Providers/DirectoryService.cs +++ b/MediaBrowser.Controller/Providers/DirectoryService.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.IO; using System.Linq; using MediaBrowser.Model.IO; @@ -26,7 +27,20 @@ namespace MediaBrowser.Controller.Providers public FileSystemMetadata[] GetFileSystemEntries(string path) { - return _cache.GetOrAdd(path, static (p, fileSystem) => fileSystem.GetFileSystemEntries(p).ToArray(), _fileSystem); + return _cache.GetOrAdd( + path, + static (p, fileSystem) => + { + try + { + return fileSystem.GetFileSystemEntries(p).ToArray(); + } + catch (DirectoryNotFoundException) + { + return []; + } + }, + _fileSystem); } public List GetDirectories(string path) @@ -98,7 +112,20 @@ namespace MediaBrowser.Controller.Providers _filePathCache.TryRemove(path, out _); } - var filePaths = _filePathCache.GetOrAdd(path, static (p, fileSystem) => fileSystem.GetFilePaths(p).ToList(), _fileSystem); + var filePaths = _filePathCache.GetOrAdd( + path, + static (p, fileSystem) => + { + try + { + return fileSystem.GetFilePaths(p).ToList(); + } + catch (DirectoryNotFoundException) + { + return []; + } + }, + _fileSystem); if (sort) {