Skip to content

feat(msteams): add option to disable Copilot-style informative stream status in DMs #71049

@software-ec

Description

@software-ec

Summary

The MS Teams channel plugin currently hardcodes the informative stream status (Copilot-style "Checking the details..." with gradient progress bar and Stop button) for DM conversations. There is no config option to use the standard Teams typing indicator (isTyping) for DMs instead.

The type definition in types.msteams.d.ts confirms this is intentional but not configurable:

/** Send native Teams typing indicator before replies.
 *  Default: true for groups/channels;
 *  DMs use informative stream status. */
typingIndicator?: boolean;

Problem

  • The Copilot-style streaming UI cannot be disabled for DMs via any config key
  • blockStreaming controls block-by-block message delivery, not the streaming UI itself
  • typingIndicator: true enables native typing for groups/channels but DMs always get the informative stream status
  • Setting showLoadingIndicator: false in the Teams Developer Portal manifest may suppress it client-side, but there should be a server-side config option
  • The streaming key is not accepted by the config schema validator (must NOT have additional properties)

Expected behavior

A config option (e.g., dmStreamStatus: false or streaming: "off" or typingIndicator: { dm: "native" }) that allows disabling the informative stream status for DMs, falling back to the standard Teams typing indicator + single final message delivery.

Current workaround

None known on the OpenClaw side. Attempting showLoadingIndicator: false in the Teams app manifest as a client-side workaround.

Environment

  • OpenClaw version: 2026.4.22
  • Channel: msteams
  • Conversation type: DM (1:1)

What triggers the Copilot-style UI

Bot behavior Teams UI result
Streaming response Copilot loader (gradient bar + Stop)
Long-running invoke Copilot loader
Message updates (progress style) Copilot loader
Normal message reply Standard typing indicator

The msteams plugin should support a mode where DMs use the "Normal message reply" pattern: send a typing activity, process, then send the final message once.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions