From f58c71da9d81e769cbea110111c468a4200e0b31 Mon Sep 17 00:00:00 2001 From: blam Date: Mon, 19 Aug 2024 12:04:33 +0200 Subject: [PATCH 1/3] chore: fixing issue with the vizualizer Signed-off-by: blam --- .../AppVisualizerPage/DetailedVisualizer.tsx | 27 +++++++++++++------ .../kubernetes/src/alpha/entityContents.tsx | 9 ++----- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/plugins/app-visualizer/src/components/AppVisualizerPage/DetailedVisualizer.tsx b/plugins/app-visualizer/src/components/AppVisualizerPage/DetailedVisualizer.tsx index d22c2d94db..fe255b2ab1 100644 --- a/plugins/app-visualizer/src/components/AppVisualizerPage/DetailedVisualizer.tsx +++ b/plugins/app-visualizer/src/components/AppVisualizerPage/DetailedVisualizer.tsx @@ -189,15 +189,26 @@ function OutputLink(props: { }) { const routeRef = props.node?.instance?.getData(coreExtensionData.routeRef); - const link = useRouteRef(routeRef as RouteRef); + try { + const link = useRouteRef(routeRef as RouteRef); - return ( - {props.dataRef.id}}> - - {link ? link : null} - - - ); + return ( + {props.dataRef.id}}> + + {link ? link : null} + + + ); + } catch (ex) { + // eslint-disable-next-line no-console + console.warn( + props.node?.spec.id + ? `Unable to generate output link for ${props.node.spec.id}` + : 'Unable to generate output link', + ex, + ); + return null; + } } function Output(props: { dataRef: ExtensionDataRef; node?: AppNode }) { diff --git a/plugins/kubernetes/src/alpha/entityContents.tsx b/plugins/kubernetes/src/alpha/entityContents.tsx index de11310981..26730e76d4 100644 --- a/plugins/kubernetes/src/alpha/entityContents.tsx +++ b/plugins/kubernetes/src/alpha/entityContents.tsx @@ -15,19 +15,14 @@ */ import React from 'react'; -import { - compatWrapper, - convertLegacyRouteRef, -} from '@backstage/core-compat-api'; -import { rootCatalogKubernetesRouteRef } from '../plugin'; +import { compatWrapper } from '@backstage/core-compat-api'; import { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha'; export const entityKubernetesContent = EntityContentBlueprint.make({ name: 'kubernetes', params: { - defaultPath: 'kubernetes', + defaultPath: '/kubernetes', defaultTitle: 'Kubernetes', - routeRef: convertLegacyRouteRef(rootCatalogKubernetesRouteRef), loader: () => import('./KubernetesContentPage').then(m => compatWrapper(), From 8753a47f5eecd591a6fe2fb2ec8fe40a0fb45f8a Mon Sep 17 00:00:00 2001 From: blam Date: Mon, 19 Aug 2024 12:10:18 +0200 Subject: [PATCH 2/3] chore: added deprecation for `createComponentExtension` Signed-off-by: blam --- .../src/extensions/createComponentExtension.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx b/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx index a40ee3b069..b83b2586ba 100644 --- a/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx +++ b/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx @@ -34,7 +34,9 @@ export function createComponentExtension< ref: ComponentRef; name?: string; disabled?: boolean; + /** @deprecated these will be removed in the future */ inputs?: TInputs; + /** @deprecated these will be removed in the future */ configSchema?: PortableSchema; loader: | { From e493020777ba39d3009c7dfc9b1e7a36ccc6886d Mon Sep 17 00:00:00 2001 From: blam Date: Mon, 19 Aug 2024 12:12:21 +0200 Subject: [PATCH 3/3] chore: added chantgeset Signed-off-by: blam --- .changeset/eight-days-sin.md | 5 +++++ .changeset/swift-dragons-know.md | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 .changeset/eight-days-sin.md create mode 100644 .changeset/swift-dragons-know.md diff --git a/.changeset/eight-days-sin.md b/.changeset/eight-days-sin.md new file mode 100644 index 0000000000..71b87ee93d --- /dev/null +++ b/.changeset/eight-days-sin.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-plugin-api': patch +--- + +Deprecated `inputs` and `configSchema` options for `createComponentExtenion`, these will be removed in a future release diff --git a/.changeset/swift-dragons-know.md b/.changeset/swift-dragons-know.md new file mode 100644 index 0000000000..7e82994eca --- /dev/null +++ b/.changeset/swift-dragons-know.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-app-visualizer': patch +--- + +Fixing issue with the visualizer crashing when clicking on the detailed view because of `routeRef` parameters