Browse Source

Backport pull request #15423 from jellyfin/release-10.11.z

Invalidate parent folder's cache on deletion/creation

Original-merge: 49efd68fc7ef4b70b38151a177502bbdb3adede0

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
theguymadmax 3 days ago
parent
commit
e34e7a1d0b
1 changed files with 18 additions and 0 deletions
  1. 18 0
      Emby.Server.Implementations/Library/LibraryManager.cs

+ 18 - 0
Emby.Server.Implementations/Library/LibraryManager.cs

@@ -457,6 +457,12 @@ namespace Emby.Server.Implementations.Library
                 _cache.TryRemove(child.Id, out _);
                 _cache.TryRemove(child.Id, out _);
             }
             }
 
 
+            if (parent is Folder folder)
+            {
+                folder.Children = null;
+                folder.UserData = null;
+            }
+
             ReportItemRemoved(item, parent);
             ReportItemRemoved(item, parent);
         }
         }
 
 
@@ -1993,6 +1999,12 @@ namespace Emby.Server.Implementations.Library
                 RegisterItem(item);
                 RegisterItem(item);
             }
             }
 
 
+            if (parent is Folder folder)
+            {
+                folder.Children = null;
+                folder.UserData = null;
+            }
+
             if (ItemAdded is not null)
             if (ItemAdded is not null)
             {
             {
                 foreach (var item in items)
                 foreach (var item in items)
@@ -2150,6 +2162,12 @@ namespace Emby.Server.Implementations.Library
 
 
             _itemRepository.SaveItems(items, cancellationToken);
             _itemRepository.SaveItems(items, cancellationToken);
 
 
+            if (parent is Folder folder)
+            {
+                folder.Children = null;
+                folder.UserData = null;
+            }
+
             if (ItemUpdated is not null)
             if (ItemUpdated is not null)
             {
             {
                 foreach (var item in items)
                 foreach (var item in items)