fix: Remove the unnecessary item limit from folder media (#2688)

- Fixed: #2573
This commit is contained in:
Dermot Duffy
2026-08-17 21:49:11 -07:00
committed by GitHub
parent 858c5d0610
commit 84b90bcc7e
12 changed files with 41 additions and 146 deletions
+1 -8
View File
@@ -166,7 +166,6 @@ export class HAFoldersEngine implements FoldersEngine {
targets: BrowseMediaTarget<BrowseMediaMetadata>[],
): BrowseMediaStep<BrowseMediaMetadata>[] => {
const nextComponent = pathComponents.shift();
const limit = query.limit ?? null;
return [
{
@@ -174,11 +173,6 @@ export class HAFoldersEngine implements FoldersEngine {
metadataGenerator: (media, parent) =>
this._metadataGenerator.generate(media, parent, nextComponent?.ha?.parsers),
// At the final step (no nextComponent), apply limit via earlyExit.
...(limit && {
earlyExit: (media) => media.length >= limit,
}),
...(nextComponent && {
matcher: (media) =>
this._mediaMatcher.match(hass, media, {
@@ -202,11 +196,10 @@ export class HAFoldersEngine implements FoldersEngine {
},
);
const results = getViewItemsFromBrowseMediaArray(browseMedia, {
return getViewItemsFromBrowseMediaArray(browseMedia, {
folder: query.folder,
path: query.path,
});
return query.limit ? results.slice(0, query.limit) : results;
}
public generateChildFolderQuery(
-1
View File
@@ -39,7 +39,6 @@ export interface FolderQuery extends BaseQuery, QueryFilters {
// A trail of paths to navigate back to the "root", with the last path being
// the path that this query directly refers to.
path: NonEmptyTuple<FolderPathComponent>;
limit?: number;
}
// ===============
@@ -205,9 +205,7 @@ export class ViewQueryExecutor {
case 'folders':
viewModifiers.push(
...(await executeQuery(
builder.buildDefaultFolderQuery(queryExecutorOptions?.folder, {
limit: this._getLimit(),
}),
builder.buildDefaultFolderQuery(queryExecutorOptions?.folder),
)),
);
break;