aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/UserRootFolder.cs
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2026-06-17 20:45:52 +0200
committerGitHub <noreply@github.com>2026-06-17 20:45:52 +0200
commitada11f56921e25c20fcb6760231b4c3fef0c7fdb (patch)
treea541fd90d5cbf33357e94c1a0f51dd7b86e33b12 /MediaBrowser.Controller/Entities/UserRootFolder.cs
parent5036bf7db0a44e7917f8930e9a894df3f6934d18 (diff)
parenta9dc8f6f742e71720aad2c402a08087f7a7d5368 (diff)
Always apply recursive when filters are requested (#17088)
Diffstat (limited to 'MediaBrowser.Controller/Entities/UserRootFolder.cs')
-rw-r--r--MediaBrowser.Controller/Entities/UserRootFolder.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/UserRootFolder.cs b/MediaBrowser.Controller/Entities/UserRootFolder.cs
index deed3631b8..d5be997b84 100644
--- a/MediaBrowser.Controller/Entities/UserRootFolder.cs
+++ b/MediaBrowser.Controller/Entities/UserRootFolder.cs
@@ -69,8 +69,14 @@ namespace MediaBrowser.Controller.Entities
protected override QueryResult<BaseItem> GetItemsInternal(InternalItemsQuery query)
{
- if (query.Recursive)
+ // The user root holds no items of its own - a plain listing returns the user's
+ // views. But a request carrying any filter is a search across the libraries, so
+ // resolve it through the recursive query path even when Recursive wasn't set;
+ // otherwise the filters would be silently dropped. Recursive is set so the
+ // downstream query (ancestor/top-parent scoping) treats it as a recursive search.
+ if (query.Recursive || query.HasFilters)
{
+ query.Recursive = true;
return QueryRecursive(query);
}