From f729290e96c94f3d6705fb98443e05b91c3cb330 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 5 Feb 2026 00:33:38 -0800 Subject: [PATCH] Enhancement: better display of Arcane widget errors (#6281) --- src/widgets/arcane/component.jsx | 3 ++- src/widgets/arcane/component.test.jsx | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/widgets/arcane/component.jsx b/src/widgets/arcane/component.jsx index d8a085156..8b58b9e2b 100644 --- a/src/widgets/arcane/component.jsx +++ b/src/widgets/arcane/component.jsx @@ -24,7 +24,8 @@ export default function Component({ service }) { const { data: images, error: imagesError } = useWidgetAPI(widget, "images"); const { data: updates, error: updatesError } = useWidgetAPI(widget, "updates"); - const error = containersError ?? imagesError ?? updatesError; + const error = + containersError ?? imagesError ?? updatesError ?? containers?.detail ?? images?.detail ?? updates?.detail; if (error) { return ; } diff --git a/src/widgets/arcane/component.test.jsx b/src/widgets/arcane/component.test.jsx index cf0533d3b..cb6fe6a5e 100644 --- a/src/widgets/arcane/component.test.jsx +++ b/src/widgets/arcane/component.test.jsx @@ -34,6 +34,16 @@ describe("widgets/arcane/component", () => { expect(screen.getByText("arcane.environment_required")).toBeInTheDocument(); }); + it("shows an error when API calls return detail errors", () => { + useWidgetAPI.mockImplementation(() => ({ data: { detail: "Specific API error" }, error: undefined })); + + renderWithProviders(, { + settings: { hideErrors: false }, + }); + + expect(screen.getByText("Specific API error")).toBeInTheDocument(); + }); + it("renders placeholders while loading data", () => { useWidgetAPI.mockImplementation(() => ({ data: undefined, error: undefined }));