Start, stop and pause flows, and show what their nodes print
Flows can now be taken off the engine and put back. Stopped state lives in a runtime.json beside the flow, not in the flow document: the canvas autosaves that document, so a stopped flow would otherwise start itself again on the next edit. A stopped flow gets no subscriptions, schedules or webhooks, its nodes are skipped by the scheduler, and running it answers 409. Pausing holds a flow's nodes while its values keep arriving, so the canvas still shows what is coming in. Node code is user code and print is how it says things, so stdout is teed through a contextvar sink active only during a node execution — one event per execution, capped, so a chatty node cannot outrun the stream. A node that fails sends its traceback the same way, trimmed to the author's own frames. The dock gains a logs panel and a pause control; the dashboard replaces its placeholder with what is running, stopped or failing; the edge inspector can send the last message again. Single-stepping is deferred and noted: the scheduler keeps no progress between calls, so a step button would re-run the same node rather than advance. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
606ab3c423
commit
7344eac262
+9
-4
@@ -11,7 +11,12 @@ Deferring because out of scope is fine, but don't mention deferring than.
|
||||
- BUG/UI: enlarge the icon in the sidebar slightly
|
||||
- BUG/UI: clicking outside the panel does not discard the flow edit panel
|
||||
- BUG/UI: the graph showed in the node edit panel should also be shown for a specific edge inside the pop-up panel when clicking the edge
|
||||
- BUG/UI: the "run" button in the toolbar should be stateful; i.e. when a flow is running (i.e. with nodes that automatically emit data such as triggers), it should be possible to pause the flow and resume it. Also for flows without a trigger, the button should change state to allow interrupting a running node
|
||||
- FEAT/FLOW: single-stepping a paused flow. Pause and resume are in; a step button needs the
|
||||
scheduler to keep its per-run progress between calls, which the one-shot executor does not —
|
||||
without that it re-runs the first ready node instead of advancing. Needs a persistent
|
||||
per-flow work queue that a step pops from and resume drains.
|
||||
- FEAT/UI: interrupting a node that is already running. Pause holds nodes that have not been
|
||||
submitted yet; one already executing runs to completion.
|
||||
- BUG/UI: the enlarged panel (for code editing) should still maintain its floating style
|
||||
- BUG/UI: `SidePanel`'s mobile branch does not set `data-testid` on the `SheetContent`, so
|
||||
`[data-testid=node-panel]` does not exist on a phone. Mobile specs cannot address the panel.
|
||||
@@ -57,9 +62,9 @@ Deferring because out of scope is fine, but don't mention deferring than.
|
||||
|
||||
## Blocked
|
||||
|
||||
- FEAT/UI: a "Bug" icon on the node error bubble opening the console at the full error. The
|
||||
bubble now shows one line and the traceback only reaches the server log; there is no
|
||||
console in the roadmap yet for it to open.
|
||||
- FEAT/UI: a "Bug" icon on the node error bubble opening the logs panel at that node's
|
||||
traceback. The panel now has the traceback; wiring the bubble to open and filter it needs
|
||||
the panel's open state lifted into `FlowEditor`.
|
||||
- FEAT/INFRA: MQTT broker and InfluxDB compose services for local development. The node types
|
||||
exist; a local broker would make them testable without external hardware.
|
||||
- CHORE/INFRA: `bun install` inside the frontend Docker build intermittently fails with
|
||||
|
||||
Reference in New Issue
Block a user