Repository navigation
fix: the run overlay holds steady through a run; the eye takes the tokens and sizes off - #111
Merged
Merged
Conversation
# Conflicts: # packages/diagram-server/src/model/graph-gmodel-source.ts # packages/diagram-server/src/server/graph-load-request-options.ts # packages/shared/src/diagram-types.ts
# Conflicts: # packages/sidecar-toolkit/src/sidecar-diagram-profile.ts
# Conflicts: # packages/sidecar-toolkit/test/sidecar-diagram-profile.test.ts
# Conflicts: # packages/diagram-client/src/property-panel.ts # packages/extension-core/src/extension/diagram/glsp-activation.ts # packages/shared/src/diagram-types.ts
Resolution of #92 (Facts) with #100 (Fields): the fields a person edits come right under Basic Info, ahead of facts that end with a long body. Claude-Session: https://claude.ai/code/session_01E8WfqKknDNN6xpNVcJL5K8
For looking at a status source's answer without VS Code: the states are handed to the client as the webview would get them, through the overlay bridge's painter and GLSP feedback, so what is drawn is what the editor draws. Local to integration/coverage: the renderer belongs to the group-scopes branch, not to the status-overlay one. Claude-Session: https://claude.ai/code/session_01E8WfqKknDNN6xpNVcJL5K8
# Conflicts: # packages/diagram-server/src/model/graph-gmodel-source.ts # packages/shared/src/diagram-types.ts
# Conflicts: # packages/diagram-client/src/profile.ts # packages/extension-core/src/api.ts # packages/sidecar-toolkit/src/sidecar-diagram-profile.ts
# Conflicts: # packages/diagram-client/test/container-parity.test.ts # packages/diagram-client/test/fixtures/container-parity.baseline.json # packages/diagram-server/src/model/graph-gmodel-source.ts
# Conflicts: # packages/diagram-client/src/profile.ts # packages/extension-core/src/api.ts # packages/sidecar-toolkit/src/sidecar-diagram-profile.ts
… reworded entries twice) Claude-Session: https://claude.ai/code/session_01E8WfqKknDNN6xpNVcJL5K8
# Conflicts: # scripts/render-svg/README.md # scripts/render-svg/render.mjs
…kens and sizes off The runtime writes run.wf-viewer.live.json at every firing and the server re-reads it every 400ms, so now and then it read the file halfway written, took that for no run at all and fell through to the previous run: the ring went off, the previous run's queue sizes came on, and the next read put things back. A run-output file that does not parse is now read as it last did (jsonFileMemo; the queue trace too), and from the end of a run until its record is in run-log.jsonl its last live overlay stands, as finished, where the previous run showed for a moment. The eye on the palette, off, took only the step counter away: the carried colour, the token pills and the queue sizes stayed on the edges, so it looked as if it did nothing. Off, nothing the run put on the edges is drawn; the nodes keep the run's state. A queue size the trace no longer has is taken off the edge too (it was set and never deleted). Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
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.
Two things Endri saw in wfpy-ide: the running ring and the token/queue-size badges appearing and disappearing while a run is on, and the eye on the palette doing nothing when switched off.
Why it blinked. wfpy writes
run.wf-viewer.live.jsonat every firing (withPath.write_text, which truncates first) and the server re-reads it every 400ms. A read that lands mid-write does not parse;readOverlayFromPathreturnedundefined, andtryLoadLatestViewerOverlayfell through torun-log.jsonl, i.e. the previous run:running=false(ring off), that run'srun.wf-queues.json(its sizes on). The next read put things back. At the end of a run the live file was deleted before the run's record was appended to the log, so the previous run showed again for a moment.Server (
source-model-storage.ts)readJsonFileMemo: run-output JSON files are read through a per-path memo keyed on size and mtime; a file that fails to parse is answered with what it last parsed to. Used for the live overlay, the final overlays and the queue trace.run-log.jsonlrecords it, the run's last live overlay stands, as finished with nothing active.queueTraceVisible === false) now takesVIEWER_LAST_TOKENandQUEUE_SIZEoff every edge (carried colour, token pills, badges), and a staleQUEUE_SIZEis removed when the trace has none for the edge (it was only ever set). Node state is untouched: the ring is the live run, with its own setting.Client: the eye's tooltip says what it does now.
Tests:
test/run-overlay-steady-during-run.test.ts(5): a half-written live file keeps the last good overlay; the overlay stands from the run's end until the log records it; a half-written queue trace keeps the last good trace; the eye off strips the edges; on, draws the trace's size, not a stale one. diagram-server 436/436, diagram-client 351/351, build fine.The writer side is fixed too, in wfpy (atomic writes, live files deleted after the record): huawei-csl/wfpy PR to follow. Either side alone removes the blink; both belong.
https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv