Repository navigation
fix(client): a running run on Settings → Workflows moves again (#1810) - #1826
Conversation
860612d to
a2dfbff
Compare
a2dfbff to
c1fa151
Compare
|
Written-by: Enqueue Queue result at
Next: rebase onto |
…FlowLab#1810) Replayed onto main d668438: this commit only moves the ThinkFlowLab#1810 change onto the current main; the sources are unchanged and core/client.js and patches/ds-bot/ were regenerated from them.
c1fa151 to
e09584f
Compare
|
Verdict: PASS at e09584f Ran at this tip: Red-first: with What this tip is: PR #1826's head was rebuilt on maintenance on the same branch — parent CI at this tip: 13/13 check-runs terminal and green — Tier T1 ( |
Replayed onto 09309f7 (#1867) by Replay: this commit only moves the branch onto the new main, with the same 18-file change set. core/client.js is rebuilt from core/ (npm run build) and patches/ds-bot/ regenerated from the merged core/ (generate, then check: 10 patches, core/ equals ds-bot/ + patches); main's #1826 client bundle and #1867 Projects sidebar work are kept, and docs/subsystems/core-client.md keeps #1867's text with the Members-panel Chief row added on top.
Fixes #1810
Owner: Dev-1
Written-by: Dev-1
Claim-Id: 6d058c4c1bc446b5aacbc7f89cc56f39
Base: b4e05ac
Verified commit: 2d371445174a719d8d12aeaa3f9a48bcffa966c1 (tree 6bead688561942dac0b7290ffd06724f4938fc37); the pushed head is created by the push path from this tree, so its commit id differs and its tree is the same.
8 files, +2523/−3467
What changed
core/src/client/workflows.js(+17/−0):POLL_MS = 2000, the room drawer's own beat.liveis true when any listed workflow hasactiveCount > 0, the same predicate the room drawer uses. A second effect with deps[live, editing]starts a 2 ssetIntervalonly whileliveand no Edit is open; each tick callsreadWorkflows(invoke)and applies the settled list unless the page is gone. Cleanup clears the timer and marks the effect gone. An Edit suspends the beat and finishing it resumes it; unmount stops it. The mount read and its owngoneguard are unchanged. A failed poll goes through the existing settle path, so the error line and Retry appear instead of "No workflows yet".core/test/workflows-page.test.js(+296/−19): the page fixture now runs a small hook runtime (per-component slots, dependency comparison, setter → re-render) and fakessetIntervalonly; realsetTimeoutstays, so the existing read-timeout cases still settle.mountPagegainssettle / advance / click / unmount, andadvancerenders after each 2 s tick, so a finished run actually stops the beat.docs/subsystems/core-client.md(+1/−1): the Workflows paragraph now states the 2 s beat, its predicate, and that an Edit suspends it.changelog.d/1810-settings-workflows-poll.fixed.md(+1).core/client.js(+17/−2, rebuilt bycore/scripts/build-client.mjs),patches/ds-bot/files/src/client/workflows.js(+17),patches/ds-bot/files/test/workflows-page.test.js(+296/−19), andpatches/ds-bot/0008-client-bundle.patch(+1878/−3426), all re-cut on baseb4e05acfbynode scripts/ds-bot-patches.mjs generate.#1835regenerated that patch on the same base with git's default edit script (274 hunks); the 17-line bundle edit re-aligns that script, so the regenerated file is 303 hunks and the churn is hunk boundaries and context sliding, not content.checkproves the applied result equalscore/byte for byte.patches/ds-bot/0001-core-fixes.patch,0002,0003and0005keep the base's bytes exactly: this change touches no host code, so the generator reproduces them unchanged.Re-cut
Rebased from
7d216900ontob4e05acfafter#1835merged.#1835regenerated0001/0002/0003/0005/0008and editedcore/src/host/project-board.jsplus its mirror; the only overlap with this branch is the generated0008, which the generator rebuilt. No conflict marker was resolved by hand.Verification
Red first, on base
b4e05acfwith the untouched sources and only the new test file (node --import ./test/harness-resolve.mjs --test test/workflows-page.test.js):# tests 24 / # pass 21 / # fail 3a running workflow is read again every 2 s and the chip follows the run— "the page asked again while the run was live (1 read(s))"an edit suspends the poll and finishing it brings the poll back— "leaving the editor resumes the beat"a failed poll shows the error line and Retry, not an empty page— "the poll happened and failed; 1 !== 2"Guards, green on the untouched source too: 21 (nothing running → one read in ten seconds) and 23 (unmount → no further reads).
At the verified commit (tree
6bead688):node scripts/ds-bot-patches.mjs check→ok ds-bot/ = Fei2411/DeepSeek-Bot@2b10c70 (tree 5834c00, v0.1.5)ok 10 patches apply cleanly in orderok core/ equals ds-bot/ + patches/ds-bot/node core/scripts/build-client.mjs --check→ exit 0core/test/workflows-page.test.js→ 24/24 passTZ=UTC ARCH_DOCS_BASE=b4e05acf npm run verify→ exit 0: core 2222/2222, social 541, tree 127, timeline 135, workflow 294,.github/scripts549, interop 37, live-e2e 24; core lint 72 warnings / 0 errors; plugin lint 36/9/2/16 warnings, 0 errors;arch-docs: OK (8 changed file(s))(counted on the committed tree, with the base named explicitly).Not run: the smoke test (no
index.jsorsrc/host/change) and the CIpackagejob's pack/typecheck/actionlint; no queue or gate steps locally.