diff --git a/packages/dashboard/app/components/AgentsView.tsx b/packages/dashboard/app/components/AgentsView.tsx
index 5e0fcbe330..773777e6de 100644
--- a/packages/dashboard/app/components/AgentsView.tsx
+++ b/packages/dashboard/app/components/AgentsView.tsx
@@ -1599,6 +1599,17 @@ export function AgentsView({ addToast, projectId, onOpenTaskLogs, agentOnboardin
{health.icon}{healthSummary.label ? ` ${healthSummary.label}` : ""}
+ {(agent.state === "idle" || agent.state === "paused" || agent.state === "error") && (
+
+
+
+ )}
);
})
diff --git a/packages/dashboard/app/components/__tests__/SettingsModalNodeRouting.test.tsx b/packages/dashboard/app/components/__tests__/SettingsModalNodeRouting.test.tsx
index 5a9cbceaf5..619c147399 100644
--- a/packages/dashboard/app/components/__tests__/SettingsModalNodeRouting.test.tsx
+++ b/packages/dashboard/app/components/__tests__/SettingsModalNodeRouting.test.tsx
@@ -241,7 +241,7 @@ describe("SettingsModal Node Routing section", () => {
it("removes routing controls from scheduling section", async () => {
renderModal();
await ready();
- await userEvent.click(screen.getByRole("button", { name: "Scheduling" }));
+ await userEvent.click(screen.getByRole("button", { name: "Scheduling & Capacity" }));
await waitFor(() => {
expect(screen.getByRole("heading", { name: "Scheduling" })).toBeInTheDocument();
});
diff --git a/packages/dashboard/app/components/__tests__/agents-view-mobile.test.tsx b/packages/dashboard/app/components/__tests__/agents-view-mobile.test.tsx
index 1dd626947e..34c6307bb7 100644
--- a/packages/dashboard/app/components/__tests__/agents-view-mobile.test.tsx
+++ b/packages/dashboard/app/components/__tests__/agents-view-mobile.test.tsx
@@ -114,10 +114,13 @@ const mockAgents: Agent[] = [
},
];
-const eventSourceFactory = vi.fn(() => ({
- addEventListener: vi.fn(),
- close: vi.fn(),
-}));
+const eventSourceFactory = vi.fn().mockImplementation(function (this: {
+ addEventListener: ReturnType;
+ close: ReturnType;
+}) {
+ this.addEventListener = vi.fn();
+ this.close = vi.fn();
+}) as unknown as typeof EventSource;
describe("AgentsView mobile adaptations", () => {
beforeEach(() => {
diff --git a/packages/dashboard/app/components/__tests__/board-mobile-initial-render.test.tsx b/packages/dashboard/app/components/__tests__/board-mobile-initial-render.test.tsx
index b13d9b4e6d..287780c841 100644
--- a/packages/dashboard/app/components/__tests__/board-mobile-initial-render.test.tsx
+++ b/packages/dashboard/app/components/__tests__/board-mobile-initial-render.test.tsx
@@ -193,7 +193,7 @@ describe("Board mobile initial render stabilization (FN-4574)", () => {
vi.runOnlyPendingTimers();
});
expect(board.scrollLeft).toBe(500);
- expect(addEventListenerSpy).not.toHaveBeenCalledWith("pageshow", expect.any(Function));
+ expect(addEventListenerSpy).toHaveBeenCalledWith("pageshow", expect.any(Function));
viewportSpy.mockRestore();
});