From 26833d63eed5d5a118a44429d6b129966e9d9be1 Mon Sep 17 00:00:00 2001 From: stroblme Date: Thu, 20 Aug 2026 14:43:31 +0200 Subject: [PATCH] Keep the node ring lapping while the node is running The arc was one-shot feedback for an emit, so a node that works for minutes showed nothing after the first half second. A run now holds the ring on the node and laps it until the node stops. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01SKL7sUgNWhukDEz95vSMQv --- frontend/src/components/Flow/FlowNode.tsx | 14 +++++++++++--- frontend/src/components/Flow/flow.css | 21 ++++++++++++++++++++- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/Flow/FlowNode.tsx b/frontend/src/components/Flow/FlowNode.tsx index 4c358b4..4c62166 100644 --- a/frontend/src/components/Flow/FlowNode.tsx +++ b/frontend/src/components/Flow/FlowNode.tsx @@ -152,6 +152,7 @@ function FlowNodeComponent({ data, selected }: NodeProps) { .split("\n") const problem = [...new Set(lines)].join("\n") const status = problem ? "error" : live?.status + const running = status === "running" const style = STATUS_STYLES[status as keyof typeof STATUS_STYLES] return ( @@ -160,8 +161,15 @@ function FlowNodeComponent({ data, selected }: NodeProps) {
{/* Remounting on each emit is what restarts the animation, so this is gated on the pulse rather than on the count: a node mounting with a - count already in the store would otherwise play it once for free. */} - {firing ? : null} + count already in the store would otherwise play it once for free. + A run is not one shot and has no length known in advance, so while one + is on the ring laps under a key of its own until the node stops. */} + {running || firing ? ( + + ) : null}
- {status === "running" ? ( + {running ? (