diff --git a/packages/core/src/common/catalog-entities/kubernetes-cluster.ts b/packages/core/src/common/catalog-entities/kubernetes-cluster.ts index 57cac07122..a9dac5873a 100644 --- a/packages/core/src/common/catalog-entities/kubernetes-cluster.ts +++ b/packages/core/src/common/catalog-entities/kubernetes-cluster.ts @@ -127,7 +127,13 @@ export class KubernetesCluster< context.menuItems.push({ title: "Disconnect", icon: "link_off", - onClick: () => requestClusterDisconnection(this.getId()), + onClick: () => { + requestClusterDisconnection(this.getId()); + broadcastMessage( + IpcRendererNavigationEvents.NAVIGATE_IN_APP, + "/catalog", + ); + }, }); break; case LensKubernetesClusterStatus.DISCONNECTED: diff --git a/packages/core/src/renderer/components/cluster-manager/cluster-view.tsx b/packages/core/src/renderer/components/cluster-manager/cluster-view.tsx index 4a22c80076..23cd98fed2 100644 --- a/packages/core/src/renderer/components/cluster-manager/cluster-view.tsx +++ b/packages/core/src/renderer/components/cluster-manager/cluster-view.tsx @@ -69,7 +69,11 @@ class NonInjectedClusterView extends React.Component { disposeOnUnmount(this, [ reaction(() => this.clusterId, async (clusterId) => { // TODO: replace with better handling - if (clusterId && !this.props.entityRegistry.getById(clusterId)) { + if (!this.clusterId) { + return; + } + + if (!this.props.entityRegistry.getById(clusterId)) { return this.props.navigateToCatalog(); // redirect to catalog when the clusterId does not correspond to an entity } @@ -80,12 +84,6 @@ class NonInjectedClusterView extends React.Component { }, { fireImmediately: true, }), - - reaction(() => [this.cluster?.ready, this.cluster?.disconnected], ([, disconnected]) => { - if (this.isViewLoaded.get() && disconnected) { - this.props.navigateToCatalog(); // redirect to catalog when active cluster get disconnected/not available - } - }), ]); }