diff --git a/packages/frontend/src/pages/TasksPage.test.tsx b/packages/frontend/src/pages/TasksPage.test.tsx index fb4cb31..f92ee30 100644 --- a/packages/frontend/src/pages/TasksPage.test.tsx +++ b/packages/frontend/src/pages/TasksPage.test.tsx @@ -158,8 +158,10 @@ describe("TasksPage", () => { ); expect(await screen.findByText("Diagnostics")).toBeInTheDocument(); - expect(screen.getByText(/Error: captured stderr/)).toBeInTheDocument(); - expect(screen.getByText(/Stdout: line-11/)).toBeInTheDocument(); + expect(screen.getByText("Error")).toBeInTheDocument(); + expect(screen.getByText("captured stderr")).toBeInTheDocument(); + expect(screen.getByText("Stdout")).toBeInTheDocument(); + expect(screen.getByText(/line-11/)).toBeInTheDocument(); }); it("shows fallback diagnostics label when no diagnostics exist", async () => { diff --git a/packages/frontend/src/pages/TasksPage.tsx b/packages/frontend/src/pages/TasksPage.tsx index 5e6448e..c519ba3 100644 --- a/packages/frontend/src/pages/TasksPage.tsx +++ b/packages/frontend/src/pages/TasksPage.tsx @@ -50,11 +50,7 @@ const formatErrorText = (value?: string | null) => { if (!value || !value.trim()) { return "-"; } - const normalized = value.trim(); - if (normalized.length <= 80) { - return normalized; - } - return `${normalized.slice(0, 77)}...`; + return value.trim(); }; const formatWorkflowLastRun = (workflow: WorkspaceWorkflowSummary) => { @@ -93,12 +89,14 @@ const renderWorkflowDiagnosticsSummary = (diagnostics: WorkflowDiagnostics) => { Started: {formatDateTime(diagnostics.lastStartedAt)} Finished: {formatDateTime(diagnostics.lastFinishedAt)} -
- Error: {formatErrorText(diagnostics.lastStderr ?? diagnostics.lastError)} -
-
- Stdout: {formatErrorText(diagnostics.lastStdout)} -
+
Error
+
+        {formatErrorText(diagnostics.lastStderr ?? diagnostics.lastError)}
+      
+
Stdout
+
+        {formatErrorText(diagnostics.lastStdout)}
+      
); }; diff --git a/packages/frontend/src/styles/page.css b/packages/frontend/src/styles/page.css index 5148c9f..3e2caa8 100644 --- a/packages/frontend/src/styles/page.css +++ b/packages/frontend/src/styles/page.css @@ -483,3 +483,17 @@ gap: 0.35rem; cursor: pointer; } + +.workflow-diagnostics__output { + margin: 0; + max-height: 12rem; + overflow: auto; + white-space: pre-wrap; + word-break: break-word; + padding: 0.5rem 0.6rem; + border-radius: 0.5rem; + border: 1px solid var(--panel-border); + background: var(--surface-strong); + color: var(--text); + font-size: 0.82rem; +}