diff --git a/src/renderer/components/+apps-releases/release.store.ts b/src/renderer/components/+apps-releases/release.store.ts index 9548e494f7..559a90eb01 100644 --- a/src/renderer/components/+apps-releases/release.store.ts +++ b/src/renderer/components/+apps-releases/release.store.ts @@ -33,7 +33,7 @@ export class ReleaseStore extends ItemStore { }); if (amountChanged || labelsChanged) { - this.loadAll(); + this.loadFromContextNamespaces(); } this.releaseSecrets = [...secrets]; }); @@ -58,7 +58,7 @@ export class ReleaseStore extends ItemStore { } @action - async loadAll(namespaces = namespaceStore.allowedNamespaces) { + async loadAll(namespaces: string[]) { this.isLoading = true; try { @@ -78,9 +78,16 @@ export class ReleaseStore extends ItemStore { } async loadItems(namespaces: string[]) { - return Promise - .all(namespaces.map(namespace => helmReleasesApi.list(namespace))) - .then(items => items.flat()); + const isLoadingAll = namespaceStore.allowedNamespaces.every(ns => namespaces.includes(ns)); + const noAccessibleNamespaces = namespaceStore.context.cluster.accessibleNamespaces.length === 0; + + if (isLoadingAll && noAccessibleNamespaces) { + return helmReleasesApi.list(); + } else { + return Promise + .all(namespaces.map(namespace => helmReleasesApi.list(namespace))) + .then(items => items.flat()); + } } async create(payload: IReleaseCreatePayload) {