fix(worker): gate standalone init on IPC readiness - #1426
Merged
deepcoldy merged 1 commit intoSep 17, 2026
Merged
Conversation
ITcathyh
pushed a commit
to ITcathyh/botmux
that referenced
this pull request
Sep 17, 2026
并入 deepcoldy#1362 只读长程任务受限续跑、deepcoldy#1426 worker IPC 就绪门、 deepcoldy#1228 traex Backend Variant 边界、deepcoldy#1431 create-group --chat-mode。 冲突两处,均为路由联合双方各加一个成员,取并集: - src/cli.ts postSessionCliIpc route:本 PR rename + 上游 continuation - dashboard-ipc-server.ts 窄认证路由正则:同上 build 通过;上游侧 17 文件 1024 passed、PR 侧 23 文件 614 passed。 Co-Authored-By: Claude Code <noreply@anthropic.com>
|
🚀 Released in v3.24.0 |
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.
Summary
Root cause
The Node worker path injects
worker-ipc-preload.jsthroughexecArgv, but the compiled standalone path re-execs the binary and necessarily dropsexecArgv. A large first-turn init payload can therefore hit IPC backpressure while the standalone worker is still loading. The daemon's two 2-second delivery attempts can expire before the full worker registers its message handler, so the first turn reports a delivery failure even though later turns work once the worker is warm.Verification
vitest run --project unit test/worker-ipc-preload.test.ts test/session-lifecycle-start.test.ts --maxWorkers=1: 199 passednpm run build: passed--version: passedThe full parallel unit run was not clean on this host because several long-running integration files timed out or hung under load. Two representative failures were rerun with
--maxWorkers=1against both this branch and untouchedorigin/master; both reproduced identically on the base branch (the macOS/varvs/private/varworktree assertion and the TraeX native-title 14-second timeout).