diff --git a/canvas/src/components/ContextMenu.tsx b/canvas/src/components/ContextMenu.tsx index 0b8fce505..41dc32543 100644 --- a/canvas/src/components/ContextMenu.tsx +++ b/canvas/src/components/ContextMenu.tsx @@ -172,7 +172,7 @@ export function ContextMenu() { const nodeId = contextMenu.nodeId; closeContextMenu(); try { - await api.post(`/workspaces/${nodeId}/pause`, {}); + await api.post(`/workspaces/${nodeId}/pause?cascade=true`, {}); updateNodeData(nodeId, { status: "paused" }); } catch (e) { showToast("Pause failed", "error"); @@ -184,7 +184,7 @@ export function ContextMenu() { const nodeId = contextMenu.nodeId; closeContextMenu(); try { - await api.post(`/workspaces/${nodeId}/resume`, {}); + await api.post(`/workspaces/${nodeId}/resume?cascade=true`, {}); updateNodeData(nodeId, { status: "provisioning" }); } catch (e) { showToast("Resume failed", "error"); diff --git a/canvas/src/components/__tests__/ContextMenu.test.tsx b/canvas/src/components/__tests__/ContextMenu.test.tsx index ac404d7a4..01d337a64 100644 --- a/canvas/src/components/__tests__/ContextMenu.test.tsx +++ b/canvas/src/components/__tests__/ContextMenu.test.tsx @@ -385,7 +385,7 @@ describe("ContextMenu — item actions", () => { render(); fireEvent.click(screen.getByRole("menuitem", { name: /pause/i })); await act(async () => { /* flush */ }); - expect(mockPost).toHaveBeenCalledWith("/workspaces/n1/pause", {}); + expect(mockPost).toHaveBeenCalledWith("/workspaces/n1/pause?cascade=true", {}); expect(mockStoreState.updateNodeData).toHaveBeenCalledWith("n1", { status: "paused" }); }); @@ -395,7 +395,7 @@ describe("ContextMenu — item actions", () => { render(); fireEvent.click(screen.getByRole("menuitem", { name: /resume/i })); await act(async () => { /* flush */ }); - expect(mockPost).toHaveBeenCalledWith("/workspaces/n1/resume", {}); + expect(mockPost).toHaveBeenCalledWith("/workspaces/n1/resume?cascade=true", {}); }); }); diff --git a/canvas/src/store/canvas.ts b/canvas/src/store/canvas.ts index 7f90e8937..23273f552 100644 --- a/canvas/src/store/canvas.ts +++ b/canvas/src/store/canvas.ts @@ -324,7 +324,7 @@ export const useCanvasStore = create((set, get) => ({ batchPause: async () => { const ids = Array.from(get().selectedNodeIds); const results = await Promise.allSettled( - ids.map((id) => api.post(`/workspaces/${id}/pause`)) + ids.map((id) => api.post(`/workspaces/${id}/pause?cascade=true`)) ); const failed: string[] = []; results.forEach((r, i) => {