-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
Docs: iMessage cliPath wrappers must stream JSON-RPC stdio incrementally #84330
Copy link
Copy link
Closed
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.
Metadata
Metadata
Assignees
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
The iMessage docs explain that
channels.imessage.cliPathcan point to an SSH/custom wrapper, but they do not currently call out an important interoperability requirement: the wrapper/proxy must forward JSON-RPC stdin/stdout incrementally. It must not wait for EOF or a large fixed-size buffer before forwarding data.A wrapper that reads with a large blocking
read(N)can make small JSON-RPC messages such aschats.listsit indefinitely, producing symptoms likeimsg rpc timeout (chats.list)even thoughimsg rpcitself is working.Observed Behavior
With a custom stdio bridge wrapper:
imsg rpcsuccessfully.chats.listtimed out.Expected Documentation
The iMessage remote-wrapper docs should explicitly state that a
cliPathwrapper must behave like a transparent stdio pipe for long-lived JSON-RPC:Suggested Location
This likely belongs in
docs/channels/imessage.mdnear the "Remote Mac over SSH" / customcliPathwrapper section.Why It Matters
The failure mode looks like an OpenClaw/iMessage channel outage (
imsg rpc timeout), but the root cause is wrapper buffering. A short note would make custom remote iMessage deployments much easier to diagnose and avoid.