From df9b387175b6c2ffae12a7fb869b7313eec3bcf5 Mon Sep 17 00:00:00 2001 From: Lee Kelleher Date: Tue, 22 Jul 2025 09:16:38 +0100 Subject: [PATCH] Repository Details Manager: Prevent making requests for empty arrays (#19731) * fix: Prevent Repository Details Manager making requests for empty arrays Fixes #19604 * Reworked to pass the `uniques` through to the `#requestNewDetails()` method The unique values are included as a closure, persisting after the `#init` promise is resolved. Rather than call `getUniques()` to get an async'd value. * Updated with Copilot suggestions https://github.com/umbraco/Umbraco-CMS/pull/19731#discussion_r2221512463 --- .../core/repository/repository-details.manager.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/repository/repository-details.manager.ts b/src/Umbraco.Web.UI.Client/src/packages/core/repository/repository-details.manager.ts index 7d31d0ad83..b2d170c902 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/repository/repository-details.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/repository/repository-details.manager.ts @@ -88,7 +88,7 @@ export class UmbRepositoryDetailsManager this.removeUmbControllerByAlias('observeEntry_' + entry); }); - this.#requestNewDetails(); + this.#requestNewDetails(uniques); }, null, ); @@ -181,13 +181,13 @@ export class UmbRepositoryDetailsManager return this.#entries.asObservablePart((items) => items.find((item) => item.unique === unique)); } - async #requestNewDetails(): Promise { + async #requestNewDetails(uniques?: Array): Promise { + if (!uniques?.length) return; + await this.#init; if (!this.repository) throw new Error('Repository is not initialized'); - const requestedUniques = this.getUniques(); - - const newRequestedUniques = requestedUniques.filter((unique) => { + const newRequestedUniques = uniques.filter((unique) => { const item = this.#statuses.getValue().find((status) => status.unique === unique); return !item; });