openclaw/docs/nodes
Peter Steinberger 968a08c6d0
perf(nodes): reuse warm workers so node session turns start as fast as local ones (#160265)
* perf(nodes): reuse warm workers so node turns start as fast as local ones

Retain settled workers for two minutes with at most two idle children per
node. Negotiate node-worker-idle-retention-v1 across Gateway, node, and
bundle; fresh turn admission and credentials remain mandatory. Protect
background work and preserve durable process cleanup and reconciliation.

Expose reclaimable idle capacity to placement admission and the session
picker. Consolidate lifecycle helpers under the supervisor and use the
shared capacity parser. Document the bounded process-count and memory
tradeoff; include lifecycle, negotiation, and picker regression coverage.

fix(nodes): retry failed idle worker cleanup

Rearm the supervisor idle timer after a transient physical cleanup failure while retaining the durable slot and retirement fence. Cover automatic expiry and idle-limit eviction alongside explicit cleanup with a fake clock.

Fold the cancellation forwarding wrapper into its owner and remove the immediately repeated admission abort check. Preserve the existing authority, settlement, and shutdown guards.

fix(nodes): synchronize idle capacity protocol models

Regenerate the Swift worker-slot model for the optional reclaimableIdle field. The schema and named capability contract remain unchanged.

Inline the single-caller prepared workspace custody wrapper in the supervisor and move its four cases to the public launch entry point. Preserve exact acquisition, abort, shutdown, and release ordering while keeping the complete branch production delta negative.

chore(nodes): prune stale worker assertion allowance

Remove the exact one-entry assertion baseline for worker-command.runtime.ts after the unsafe assertion was eliminated. Keep the scanner and all unrelated allowances unchanged.

fix(nodes): keep supervisor dependencies on protocol owners

Import protocol parsers and types directly from their canonical leaf, including the QA fixture, and remove the redundant supervisor-control re-exports. This breaks the dependency cycle without duplicating the wire contract.

Keep the runner cancellation mock and shutdown callback asynchronous with the real Promise<void> contract, including teardown restoration.

fix(nodes): complete asynchronous cleanup contracts

Join cancellation cleanup in callers and tests while preserving parallel shutdown settlement and expected failure identity. Exclude absent cleanup owners before aggregation and keep stale-connection rejection unchanged.

Use immutable worker input, type-only journal imports, stable sorted idle projections, and receiver-bound fault injection. Remove redundant descriptor bookkeeping and finish the test lint cleanup without changing limits or suppressions.

* test(nodes): disambiguate inventory fixtures
2026-09-28 16:07:44 -07:00
..
talk fix(ui): keep speaker voice selection in Settings (#159441) 2026-09-27 05:43:56 +00:00
audio.md fix(meetings): load full transcripts and generate missing summaries (#152463) 2026-09-19 00:36:34 -07:00
camera.md docs: fix verified accuracy findings in channels, cli, nodes, and reference (#143950) 2026-09-10 18:58:15 +08:00
command-policy.md feat: enable desktop sharing by default with Mac and Tauri settings (#153359) 2026-09-20 06:34:59 -07:00
computer-use.md feat(desktop): let agents resume after manual control (#159923) 2026-09-28 10:16:42 -07:00
device-commands.md fix: preserve execution budgets and late task replies (#148508) 2026-09-14 14:29:06 -07:00
file-transfers.md feat: transfer file bytes through the existing node channel (#152640) 2026-09-19 18:52:53 -07:00
images.md fix(media): preserve animated WebP attachments during preparation (#129483) 2026-09-18 02:08:48 -07:00
index.md feat: share selected sessions read-only with a paired team Gateway (#136253) 2026-09-12 13:35:17 -07:00
location-command.md fix: preserve execution budgets and late task replies (#148508) 2026-09-14 14:29:06 -07:00
mcp-and-skills.md fix(mcp): recover expired SSE sessions and speed up parsing (#155497) 2026-09-22 09:13:30 -07:00
media-playback.md perf(media): share attachment playback metadata inspections (#158548) 2026-09-25 23:44:38 -07:00
media-understanding.md improve(agents): stop agents refusing or arguing over requested work (#157447) 2026-09-24 16:16:21 -05:00
node-exec.md feat(protocol): publish node invoke cancellation payload (#115390) 2026-09-24 01:52:24 +00:00
node-host.md perf(nodes): reuse warm workers so node session turns start as fast as local ones (#160265) 2026-09-28 16:07:44 -07:00
pairing-and-status.md fix: restore Mac presence context and Canvas media playback (#153381) 2026-09-19 21:37:59 -07:00
presence.md feat: let agents query online people and device activity (#159117) 2026-09-27 11:38:53 +00:00
session-catalogs.md perf(gateway): bound session catalog provider waits (#159457) 2026-09-27 06:04:29 +00:00
session-hosting.md perf(nodes): reuse warm workers so node session turns start as fast as local ones (#160265) 2026-09-28 16:07:44 -07:00
talk.md fix(android): GPT-Live Talk silently falls back to native speech (#153741) 2026-09-20 11:16:19 -07:00
troubleshooting.md fix(nodes): prevent orphaned work and incompatible launches (#149158) 2026-09-19 05:34:17 -07:00
voicewake.md docs(install,providers,platforms,web): fix 17 concrete defects from the ux audit (#144085) 2026-09-10 22:54:38 +08:00