fix(inbound): keep polling while turns are active - #228
Conversation
Keep the long-poll loop moving while OpenClaw processes an active turn. Serialize ordinary ingress until core admission, give plugin approvals an independent lane, and preserve quoted command and queued-followup lifecycles. Refs Tencent#201 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@tencent-adm @pumpkinxing1 有空review一下. |
|
The behavior implemented by this PR has been released in the current community-maintained https://github.com/NewFuture/openclaw-weixin The released implementation keeps long polling active after OpenClaw admits/queues a turn, preserves ordinary-message admission order, and gives One-line in-place replacement/upgrade (requires OpenClaw openclaw plugins install npm:openclaw-weixin --forceThe plugin/channel ID and state paths are unchanged, so this normally preserves existing configuration and login state. For clarity: the linked repository/package is a community-maintained distribution, not the official Tencent/Weixin release. This upstream Tencent PR remains open; this comment records an equivalent released community implementation rather than claiming a Tencent-side merge. |
Fixes #201
Related #92
中文说明
这个 PR 修复了 Weixin 长轮询被当前 Agent 回合阻塞的问题。此前 monitor 会等待整条消息处理完成,导致回合运行期间的新消息和
/approve plugin:无法及时进入 OpenClaw Core。现在每次轮询保存游标后立即继续拉取;普通消息按顺序送入 Core,并在被接收或排队后释放通道,/approve plugin:则使用独立通道避免被普通回合阻塞。队列、steer、follow-up 和审批鉴权/执行仍由 Core 负责。Summary
/approve plugin:an independent admission lane so approvals are not blocked by an active ordinary turn.Scope
This is a single focused commit changing three files. It adds no dependency, configuration, persistence layer, host version gate, or OpenClaw core change.
Validation
2026.7.1-beta.6