From 1ac8a5e1e569ad6eb6ca3c6c0a38032ba32b3f1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 27 Mar 2023 10:32:00 +0200 Subject: [PATCH 1/2] fix filter --- .../libs/extensions-api/registry/extension.registry.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts index c380dc602e..32963de61a 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts @@ -47,7 +47,7 @@ export class UmbExtensionRegistry { const nextData = this._kinds .getValue() .filter( - (k) => k.matchType !== (kind as ManifestKind).matchType && k.matchKind !== (kind as ManifestKind).matchKind + (k) => !(k.matchType === (kind as ManifestKind).matchType && k.matchKind === (kind as ManifestKind).matchKind) ); nextData.push(kind as ManifestKind); this._kinds.next(nextData); From 07a1a6cc7863d905ce34fbf445c3b20d9f0800ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 27 Mar 2023 10:32:41 +0200 Subject: [PATCH 2/2] performance optimizing --- .../libs/extensions-api/registry/extension.registry.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts index 32963de61a..c1279b91f7 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts @@ -125,7 +125,10 @@ export class UmbExtensionRegistry { T extends ManifestBase = SpecificManifestTypeOrManifestBase >(type: Key, alias: string) { return combineLatest([ - this.extensions.pipe(map((exts) => exts.find((ext) => ext.type === type && ext.alias === alias))), + this.extensions.pipe( + map((exts) => exts.find((ext) => ext.type === type && ext.alias === alias)), + distinctUntilChanged(extensionSingleMemoization) + ), this._kindsOfType(type), ]).pipe( map(([ext, kinds]) => {