Fix auto finding logic of preferred versions (#6573)

* Fix auto finding logic of preferred versions

- The kube preferred version might not contain the resource requested in
  some kube versions. Whereas the resource does exist on some previous
  api version

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Simplify getOrderedVersions

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Split test file

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix grammer

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton authored and GitHub committed 2022-11-15 11:04:51 -05:00
1 parent 395fd22eff
commit 9ed64a29df
8 files changed
+800 -493

No files matched your search

@@ -49,6 +49,18 @@ interface Dependencies {
toggleKubeDetailsPane: ToggleKubeDetailsPane;
}
const getLoadErrorMessage = (error: unknown): string => {
if (error instanceof Error) {
if (error.cause) {
return `${error.message}: ${getLoadErrorMessage(error.cause)}`;
}
return error.message;
}
return `${error}`;
};
@observer
class NonInjectedKubeObjectListLayout<
K extends KubeObject,
@@ -59,7 +71,7 @@ class NonInjectedKubeObjectListLayout<
subscribeStores: true,
};
private loadErrors = observable.array<string>();
private readonly loadErrors = observable.array<string>();
@computed get selectedItem() {
return this.props.store.getByPath(this.props.kubeSelectedUrlParam.get());
@@ -78,7 +90,9 @@ class NonInjectedKubeObjectListLayout<
if (subscribeStores) {
reactions.push(
this.props.subscribeToStores(stores, {
onLoadFailure: error => this.loadErrors.push(String(error)),
onLoadFailure: error => {
this.loadErrors.push(getLoadErrorMessage(error));
},
}),
);
}