Merge pull request #32082 from OSfrog/fix/catalog-about-card-filter-before-useprops

fix(catalog): filter icon links before calling useProps
This commit is contained in:
Ben Lambert
2025-12-09 11:36:42 +01:00
committed by GitHub
2 changed files with 8 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog': patch
---
Fixed `catalogAboutEntityCard` to filter icon links before calling useProps(), preventing side effects from hooks in filtered-out links
+3 -1
View File
@@ -41,12 +41,14 @@ export const catalogAboutEntityCard = EntityCardBlueprint.makeWithOverrides({
// The "useProps" functions may be calling other hooks, so we need to
// call them in a component function to avoid breaking the rules of hooks.
const links = inputs.iconLinks.reduce((rest, iconLink) => {
const props = iconLink.get(EntityIconLinkBlueprint.dataRefs.useProps)();
const filter = buildFilterFn(
iconLink.get(EntityIconLinkBlueprint.dataRefs.filterFunction),
iconLink.get(EntityIconLinkBlueprint.dataRefs.filterExpression),
);
if (filter(entity)) {
const props = iconLink.get(
EntityIconLinkBlueprint.dataRefs.useProps,
)();
return [...rest, props];
}
return rest;