-
-
Notifications
You must be signed in to change notification settings - Fork 69.6k
msteams: blockStreaming config has no effect (onBlockReply not wired) #56041
Description
Problem
Block streaming configuration (blockStreamingDefault, blockStreamingBreak, channels.msteams.blockStreaming) has no effect on the Microsoft Teams channel. Messages always arrive as a single block regardless of config.
Root cause
The msteams monitor handler uses dispatchReplyFromConfigWithSettledDispatcher() which omits onBlockReply from its type signature (plugin-sdk/inbound-reply-dispatch.ts line 14). Without onBlockReply, the block reply pipeline in agent-runner.ts is never created (blockReplyPipeline = null).
Other channels (Telegram, Discord, Slack) presumably wire onBlockReply through their own dispatch paths, but msteams does not.
Additional schema issue
The MSTeamsConfigSchema in zod-schema.providers-core.ts is missing blockStreaming: z.boolean().optional(). Every other channel schema includes this field. Setting channels.msteams.blockStreaming: true in config fails validation with .strict(). Even if added, it has no runtime effect due to the missing onBlockReply wiring.
Expected behavior
channels.msteams.blockStreaming: true with blockStreamingBreak: "text_end" should deliver messages in progressive chunks (separate bubbles) as text is generated, matching the behavior of other channels.
Environment
- OpenClaw v2026.3.24 (also confirmed on v2026.3.23)
- Microsoft Teams (personal DM scope)