From 41df8191c5380ca34e7a8047812b8f1c71a4442e Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sun, 3 May 2026 15:14:51 -0700 Subject: [PATCH] fix(discord): bind draft boundary callbacks --- CHANGELOG.md | 1 + extensions/discord/src/monitor/message-handler.process.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0629b9d8094..5d0e1bbf57a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,7 @@ Docs: https://docs.openclaw.ai - Google Chat: update the setup example to use the accepted `groups..enabled` key instead of the legacy `allow` alias, with a schema regression for the documented group shape. Thanks @vincentkoc. - Control UI/WebChat: collapse duplicate in-flight internal text sends onto the active Gateway run so rapid repeat submits do not start fresh `agent:main:main` dispatches. Fixes #75737. Thanks @dsdsddd1 and @BunsDev. - Mattermost: accept the documented `channels.mattermost.streaming` config and honor `streaming: "off"` by disabling draft preview posts. Thanks @vincentkoc. +- Discord: keep progress draft boundary callbacks bound during streaming replies, so extension lint stays green while progress previews transition between assistant and reasoning blocks. Thanks @vincentkoc. - Channels/streaming: expose `streaming.progress.label`, `labels`, `maxLines`, and `toolProgress` in bundled channel config metadata so progress draft settings appear in config, docs, and control surfaces. Thanks @vincentkoc. - Channels/streaming: normalize whitespace and case for `streaming.progress.label: "auto"` so progress draft labels keep using the built-in label pool instead of rendering a literal `auto` title. Thanks @vincentkoc. - Gateway/install: prefer supported system Node over nvm/fnm/volta/asdf/mise when regenerating managed gateway services, so `gateway install --force` no longer recreates service definitions that doctor immediately flags as version-manager-backed. Fixes #76339. Thanks @brokemac79. diff --git a/extensions/discord/src/monitor/message-handler.process.ts b/extensions/discord/src/monitor/message-handler.process.ts index 25b68886335..28f28b4f727 100644 --- a/extensions/discord/src/monitor/message-handler.process.ts +++ b/extensions/discord/src/monitor/message-handler.process.ts @@ -645,10 +645,10 @@ export async function processDiscordMessage( ? (payload) => draftPreview.updateFromPartial(payload.text) : undefined, onAssistantMessageStart: draftPreview.draftStream - ? draftPreview.handleAssistantMessageBoundary + ? () => draftPreview.handleAssistantMessageBoundary() : undefined, onReasoningEnd: draftPreview.draftStream - ? draftPreview.handleAssistantMessageBoundary + ? () => draftPreview.handleAssistantMessageBoundary() : undefined, onModelSelected, suppressDefaultToolProgressMessages: