Repository navigation
Conversation
This was referenced Oct 28, 2026
This was referenced Oct 28, 2026
yohamta0
force-pushed
the
stack/09-ui04
branch
2 times, most recently
from
October 29, 2026 12:58
c07d3b9 to
6c3a744
Compare
yohamta0
force-pushed
the
stack/08-ui03
branch
from
October 30, 2026 06:44
42c4d65 to
fdc2f13
Compare
yohamta0
force-pushed
the
stack/09-ui04
branch
2 times, most recently
from
October 30, 2026 08:43
276f9f2 to
640aca9
Compare
yohamta0
force-pushed
the
stack/08-ui03
branch
2 times, most recently
from
October 31, 2026 04:50
923c027 to
41ef87c
Compare
yohamta0
force-pushed
the
stack/09-ui04
branch
3 times, most recently
from
October 31, 2026 09:21
5f907ff to
9a04ca5
Compare
yohamta0
force-pushed
the
stack/08-ui03
branch
from
October 31, 2026 10:37
13ab198 to
b4a2e5d
Compare
* UI: workflow-workspace/messages * Use the right particle in Japanese follow labels
The minimap kept dragging after a cancelled pointer and zoomed through a passive React wheel handler: line-mode wheels barely moved it, the host page could scroll under it, and its zoom did not count as a user move. It now ends the drag on pointercancel and lostpointercapture, and zooms through a native listener that scales deltaMode as the canvas does. The output cache joined the remote node and file name with a colon, so two scopes could share one storage key; each part is now encoded. A dagu.input label of kind `constructor` read the prototype of the kind table, and a reused node with the zero finish time of the server gave a capture time in year 1. Both now read as unknown. Step name generation dropped combining marks, and step references missed the `:start:` slice that the resolver accepts. Long labels and environment names in the workflow attributes now wrap.
A connect drag that ended in pointercancel ran the drop logic of pointerup: a nearby handle got a link, and any other spot reported a drop on empty space, which the canvas answers with the add-step palette. A cancelled drag now does neither. The label and environment badges broke words at any character. They now wrap at word boundaries first and split a word only when it alone is wider than the panel. break-words would clip such a word instead, since it does not shrink the badge content.
The step run panel called every skipped step with a finish time reused. The runner gives each skipped step a finish time, so a step whose precondition failed showed "Reused from an earlier run". Reuse now comes from the record of the run, as the other run views read it. The panel read the outputs of a waiting human task before it completed. The request key stays the same when the task completes, so the panel kept "No outputs collected". Outputs are now read once the step settles. Prettifying JSON indents by depth, so a short, deeply nested value could grow to billions of characters and freeze or crash the panel. A value whose prettified text would pass 1 MB now shows as it is.
yohamta0
force-pushed
the
stack/09-ui04
branch
from
October 31, 2026 10:38
9a04ca5 to
25afcfa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
All PRs of the stack
Summary
This PR adds the canvas view layer (
Flow,Handle, edge parts, overlays), the step run panel with input provenance and output cache, the workflow side panel, and the YAML name and reference operations. It also adds the rest of the message modules and their index.Why
PR 7 gave the engine its geometry and store. This PR adds the drawing and the pointer handling on top, and the run-related logic for step runs that reuse outputs of earlier runs. The document model comes in PR 10; the pages come later in the stack.
Changes
canvas/engine):Flow.tsx(pan, zoom, drag, selection),Handle.tsx,edgeParts.tsx,overlays.tsx(Background,Controls,MiniMap,Panel),index.ts.visual-editor/run):StepRunPanel.tsx,inputProvenance.ts(where reused outputs come from: a run or the browser cache),outputCache.ts(references to runs, with step hashes),stepRunInfo.ts.api/useStepOutputs.tsreads stored outputs of a step.references/JsonValue.tsx(pretty JSON with folding and a size limit).visual-editor/doc):names.ts(step name and id rules),ops/references.ts(rewrite${steps.x.outputs.y}references),salvage.ts(read the good steps of a broken file).dags/components/dag-editor):WorkflowPanel,DocumentSwitcher,workflowLabels;DAGAttributesis reworked;WorkflowDrawerinvisual-editor.select.tsxuses the raised layer class from PR 6;AgentSpecOverviewhas a small change.messages/index.tsmerges the modules from PR 7, PR 8 and PR 9, and 12 more modules (w4n6btoya1) are added.How to review
engine/Flow.tsx, thenHandle.tsx,edgeParts.tsx.engine/overlays.tsx.outputCache.ts,inputProvenance.ts,stepRunInfo.ts.StepRunPanel.tsxanduseStepOutputs.ts.names.ts,references.ts,salvage.ts.messages/index.ts.Most attention:
Flow.tsx(pointer drag threshold and event order), the cache rules inoutputCache.ts(the browser sends a run name and never a value), andsalvage.tsoffsets.Tests
StepSideDrawer,WorkflowPanel,DocumentSwitcher,DAGAttributes,dialog-layer.useStepOutputs,JsonValue,inputProvenance,outputCache,stepRunInfo.names,references.Screenshots
The engine view is used by the workflow page in a later PR. The shots show its result in the final UI.