diff --git a/src/renderer/components/+namespaces/namespace.store.ts b/src/renderer/components/+namespaces/namespace.store.ts index d992551dec..79c82bd48d 100644 --- a/src/renderer/components/+namespaces/namespace.store.ts +++ b/src/renderer/components/+namespaces/namespace.store.ts @@ -5,6 +5,7 @@ import { Namespace, namespacesApi } from "../../api/endpoints"; import { IQueryParams, navigation, setQueryParams } from "../../navigation"; import { apiManager } from "../../api/api-manager"; import { isAllowedResource } from "../../../common/rbac"; +import { getHostedCluster } from "../../../common/cluster-store"; @autobind() export class NamespaceStore extends KubeObjectStore { @@ -41,6 +42,17 @@ export class NamespaceStore extends KubeObjectStore { }; } + subscribe(apis = [this.api]) { + const { allowedNamespaces } = getHostedCluster(); + + // if user has given static list of namespaces let's not start watches because watch adds stuff that's not wanted + if (allowedNamespaces.length > 0) { + return () => { return; }; + } + + return super.subscribe(apis); + } + protected updateUrl(namespaces: string[]) { setQueryParams({ namespaces }, { replace: true }); } diff --git a/src/renderer/kube-object.store.ts b/src/renderer/kube-object.store.ts index 3de227c03b..ca146a0e30 100644 --- a/src/renderer/kube-object.store.ts +++ b/src/renderer/kube-object.store.ts @@ -83,9 +83,9 @@ export abstract class KubeObjectStore extends ItemSt let items: T[]; try { - const { isAdmin, allowedNamespaces } = getHostedCluster(); + const { allowedNamespaces } = getHostedCluster(); - items = await this.loadItems(!isAdmin ? allowedNamespaces : null); + items = await this.loadItems(allowedNamespaces); items = this.filterItemsOnLoad(items); } finally { if (items) {