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 }));