docs(gateway): troubleshoot group @mention silent suppression#77052
Conversation
|
Opened #77052 — docs-only patch adding a troubleshooting block keyed to this exact symptom (typing fires, |
|
Codex review: passed. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
Summary Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. PR rating Rank-up moves:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. PR egg Rarity: 🥚 common. What is this egg doing here?
Real behavior proof Next step before merge Security Review detailsBest possible solution: Merge the focused troubleshooting docs after normal automerge checks, while keeping any runtime default or warn-once change as a separate maintainer decision. Do we have a high-confidence way to reproduce the issue? Yes, for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Is this the best way to solve the issue? Yes. Adding the block to the existing gateway channel config page is the narrow maintainable fix because it points operators to existing configuration instead of changing runtime defaults. Label justifications:
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 1fbb4e4e6a9e. |
1cecce0 to
b9a2ef9
Compare
b9a2ef9 to
be61e93
Compare
|
@clawsweeper re-review Addressed the P3 wording at |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Direct chats only reply visibly when their resolved visible-reply mode is "automatic". Harnesses that set defaultVisibleReplies to "message_tool" (e.g. Codex) suppress direct-chat finals the same way as the group default, so the prior wording was misleading.
5a4060f to
d116e41
Compare
|
Rebased onto current @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
@clawsweeper automerge |
|
🦞✅ Source: What merged:
Automerge notes:
The automerge loop is complete. Automerge progress:
|
Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89b20edbc52ca35d583202f4a2da33b3984. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89b20edbc52ca35d583202f4a2da33b3984 Review: openclaw/openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89b20edbc52ca35d583202f4a2da33b3984. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89b20edbc52ca35d583202f4a2da33b3984 Review: openclaw/openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
…aw#77052) Summary: - Adds a symptom-keyed troubleshooting block to `docs/gateway/config-channels.md` for group/channel @mentions that log `queuedFinal=false, replies=0` and explains the `visibleReplies` remedies. - Reproducibility: yes. for the docs gap and source behavior: current main lacks the exact symptom-keyed troubleshooting entry, and the resolver/tests show when message-tool mode suppresses automatic final delivery. Automerge notes: - PR branch already contained follow-up commit before automerge: docs(gateway): make group reply fix restart conditional - PR branch already contained follow-up commit before automerge: docs(gateway): qualify direct-chat reply default in troubleshooting - PR branch already contained follow-up commit before automerge: docs(gateway): align group reply troubleshooting with current automat… - PR branch already contained follow-up commit before automerge: docs(gateway): scope group reply suppression cause to group config Validation: - ClawSweeper review passed for head e60ae89. - Required merge gates passed before the squash merge. Prepared head SHA: e60ae89 Review: openclaw#77052 (comment) Co-authored-by: yetval <yetvald@gmail.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
Summary
Adds a troubleshooting block to
docs/gateway/config-channels.mdfor the symptom in #76726: group/channel @mention triggers typing then silence withdispatch complete (queuedFinal=false, replies=0)and no error.The default
messages.groupChat.visibleReplies: "message_tool"(src/auto-reply/reply/source-reply-delivery-mode.ts:28) suppresses final assistant text unless the model callsmessage(action=send). DMs use a different default, which matches the reported symmetry (DMs reply, groups go silent).The option itself is already documented at
docs/gateway/config-channels.md:778— what was missing was a symptom-keyed entry someone hits when their bot is silent.Verification
messages.groupChat.visibleReplies: automaticrestores replies — same fix this troubleshooting entry now points to.AGENTS.md, docs-only edits are not changed-gate work; rangit diff --checkand verified Mintlify root-relative link rules (no new links added).Closes part of #76726 (config/docs gap; not a Feishu send-path bug).
Leaving the deeper question (warn-once when group default suppresses, or flip default) for maintainer call.
Real behavior proof
Behavior or issue addressed: Reporters hitting the group/channel @mention symptom from #76726 (typing indicator runs, gateway log shows
dispatch complete (queuedFinal=false, replies=0), no message lands in the room, DMs reply normally) currently find no symptom-keyed entry indocs/gateway/config-channels.md; the underlyingmessages.groupChat.visibleReplies: "message_tool"default and theautomaticworkaround are documented elsewhere on the page but not surfaced from the failing symptom they actually search for.Real environment tested: macOS 25.3.0, real OpenClaw checkout at
/private/tmp/77052-rebase(clone ofyetval/openclaw:docs/group-visible-reply-troubleshootingrebased onto upstreamopenclaw/main), node 22, no live channel needed since the change is docs-only and only adds prose surfaced from the same page.Exact steps or command run after this patch:
Evidence after fix: copied live terminal output from
nodeagainst the patcheddocs/gateway/config-channels.md(no docs build needed; the file is the published source for https://docs.openclaw.ai/gateway/config-channels) showing the new symptom-keyed troubleshooting block at the expected location, with the conditional restart guidance retained from the second commit.messages.groupChat.historyLimitsets the global default. Channels can override withchannels.<channel>.historyLimit(or per-account). Set0to disable.messages.visibleRepliesis the global source-turn default;messages.groupChat.visibleRepliesoverrides it for group/channel source turns. Whenmessages.visibleRepliesis unset, a harness can provide its own direct/source default; the Codex harness defaults tomessage_tool. Channel allowlists and mention gating still decide whether a turn is processed.