From 91e0ec2f830a3135b5e12715d4622ebe8e685490 Mon Sep 17 00:00:00 2001 From: Denis Papec Date: Wed, 7 Jun 2023 00:53:10 +0100 Subject: [PATCH 1/2] Fixes for portainer and kubernetes widget error messages, and error messages for services behind the reverse proxy Signed-off-by: Denis Papec --- src/components/services/widget/error.jsx | 6 ++++-- src/widgets/kubernetes/component.jsx | 2 +- src/widgets/portainer/component.jsx | 9 +++------ 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/components/services/widget/error.jsx b/src/components/services/widget/error.jsx index 587c572fc..cf5e13661 100644 --- a/src/components/services/widget/error.jsx +++ b/src/components/services/widget/error.jsx @@ -9,10 +9,12 @@ function displayData(data) { return (data.type === 'Buffer') ? Buffer.from(data).toString() : JSON.stringify(data, 4); } -export default function Error({ error: err }) { +export default function Error({ error }) { const { t } = useTranslation(); - const { error } = err?.data ?? { error: err }; + if (error?.data?.error) { + error = error.data.error; // eslint-disable-line no-param-reassign + } return (
diff --git a/src/widgets/kubernetes/component.jsx b/src/widgets/kubernetes/component.jsx index c4d67553e..e756e4be6 100644 --- a/src/widgets/kubernetes/component.jsx +++ b/src/widgets/kubernetes/component.jsx @@ -16,7 +16,7 @@ export default function Component({ service }) { `/api/kubernetes/stats/${widget.namespace}/${widget.app}?${podSelectorString}`); if (statsError || statusError) { - return ; + return ; } if (statusData && statusData.status !== "running") { diff --git a/src/widgets/portainer/component.jsx b/src/widgets/portainer/component.jsx index aab9eba11..7da289c41 100644 --- a/src/widgets/portainer/component.jsx +++ b/src/widgets/portainer/component.jsx @@ -1,12 +1,8 @@ -import { useTranslation } from "next-i18next"; - import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { t } = useTranslation(); - const { widget } = service; const { data: containersData, error: containersError } = useWidgetAPI(widget, "docker/containers/json", { @@ -27,8 +23,9 @@ export default function Component({ service }) { ); } - if (containersData.error) { - return ; + if (containersData.error || !Array.isArray(containersData)) { + // containersData can be itself an error object + return ; } const running = containersData.filter((c) => c.State === "running").length; From 0101e8ccb950cbae2fb9e1a3310fdf5e387894ac Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 8 Jun 2023 09:40:20 -0700 Subject: [PATCH 2/2] make portainer error detection more specific --- src/widgets/portainer/component.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widgets/portainer/component.jsx b/src/widgets/portainer/component.jsx index 7da289c41..53a6fd26f 100644 --- a/src/widgets/portainer/component.jsx +++ b/src/widgets/portainer/component.jsx @@ -23,8 +23,8 @@ export default function Component({ service }) { ); } - if (containersData.error || !Array.isArray(containersData)) { - // containersData can be itself an error object + if (containersData.error || containersData.message) { + // containersData can be itself an error object e.g. if environment fails return ; }