From 36d54c64fc9e6feab4f16dcaa5e2e4c4bf8c5556 Mon Sep 17 00:00:00 2001 From: Roman Date: Fri, 5 Feb 2021 14:51:04 +0200 Subject: [PATCH] fix: wait for contextReady in NamespaceStore Signed-off-by: Roman --- src/renderer/api/kube-watch-api.ts | 5 ++++- src/renderer/components/+namespaces/namespace.store.ts | 2 +- .../components/item-object-list/item-list-layout.tsx | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/renderer/api/kube-watch-api.ts b/src/renderer/api/kube-watch-api.ts index 60adcee6c7..4d68073e78 100644 --- a/src/renderer/api/kube-watch-api.ts +++ b/src/renderer/api/kube-watch-api.ts @@ -26,6 +26,7 @@ export interface IKubeWatchMessage { } export interface IKubeWatchSubscribeStoreOptions { + namespaces?: string[]; // todo: support custom namespaces to subscribe preload?: boolean; // preload store items, default: true waitUntilLoaded?: boolean; // subscribe only after loading all stores, default: true loadOnce?: boolean; // check store.isLoaded to skip loading if done already, default: false @@ -133,7 +134,9 @@ export class KubeWatchApi { preloading.push(limitRequests(async () => { if (store.isLoaded && opts.loadOnce) return; // skip - return store.loadAll({ namespaces: opts.namespaces }); + return store.loadAll({ + namespaces: opts.namespaces ?? this.context?.contextNamespaces, + }); })); } diff --git a/src/renderer/components/+namespaces/namespace.store.ts b/src/renderer/components/+namespaces/namespace.store.ts index d62d3767e7..1f928fe2f3 100644 --- a/src/renderer/components/+namespaces/namespace.store.ts +++ b/src/renderer/components/+namespaces/namespace.store.ts @@ -41,7 +41,7 @@ export class NamespaceStore extends KubeObjectStore { } private async init() { - if (!this.context) return; // skip for non-cluster context window + await this.contextReady; this.setContext(this.initialNamespaces); this.autoLoadAllowedNamespaces(); diff --git a/src/renderer/components/item-object-list/item-list-layout.tsx b/src/renderer/components/item-object-list/item-list-layout.tsx index 0db20c8777..ddee6638b9 100644 --- a/src/renderer/components/item-object-list/item-list-layout.tsx +++ b/src/renderer/components/item-object-list/item-list-layout.tsx @@ -138,7 +138,7 @@ export class ItemListLayout extends React.Component { const { store, dependentStores } = this.props; const stores = Array.from(new Set([store, ...dependentStores])); - // loads context namespaces by default (see also: ``) + // load context namespaces by default (see also: ``) stores.forEach(store => store.loadAll(namespaceStore.contextNamespaces)); }