aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2026-06-06 14:35:16 +0200
committerGitHub <noreply@github.com>2026-06-06 14:35:16 +0200
commitc8da0abf0f4d72d30ed0b6977be656e415c03d30 (patch)
tree927eb558e8945c913cd17c9b24d77b6d702b9f88
parent1a2db53710b4bec30ca066af030ebc55b904c61d (diff)
parent5f13afa1cecfae398ff7d84ed89fc45b14b71c61 (diff)
Merge pull request #17025 from Shadowghost/fix-playlist-visibilityHEADmaster
Fix playlist visibility
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 5fa1213db3..25cbcedc5f 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -906,7 +906,10 @@ namespace MediaBrowser.Controller.Entities
query.Parent = this;
}
- if (query.IncludeItemTypes.Length == 1 && query.IncludeItemTypes[0] == BaseItemKind.BoxSet)
+ // BoxSets and Playlists can have per-user visibility (shares/open access) that is stored in the
+ // serialized item data and cannot be evaluated by the database query, so filter them in memory.
+ if (query.IncludeItemTypes.Length > 0
+ && query.IncludeItemTypes.All(t => t == BaseItemKind.BoxSet || t == BaseItemKind.Playlist))
{
return QueryWithPostFiltering(query);
}
@@ -927,7 +930,7 @@ namespace MediaBrowser.Controller.Entities
if (user is not null)
{
- // needed for boxsets
+ // needed for boxsets and playlists
itemsList = itemsList.Where(i => i.IsVisibleStandalone(query.User));
}