Skip to content

fix(msteams): suppress reasoning-only text in outbound rendering#25511

Closed
chilu18 wants to merge 1 commit intoopenclaw:mainfrom
chilu18:fix/msteams-reasoning-filter-25458
Closed

fix(msteams): suppress reasoning-only text in outbound rendering#25511
chilu18 wants to merge 1 commit intoopenclaw:mainfrom
chilu18:fix/msteams-reasoning-filter-25458

Conversation

@chilu18
Copy link
Copy Markdown
Contributor

@chilu18 chilu18 commented Feb 24, 2026

Summary

  • suppress reasoning-only text payloads in the MS Teams renderer (Reasoning: blocks and think-tag payloads)
  • preserve media delivery when a payload has reasoning text plus media (strip the reasoning caption, keep media)
  • add regression tests in extensions/msteams/src/messenger.test.ts

Why

MS Teams does not have a dedicated reasoning lane. When reasoning text is emitted as channel payload text, users can see internal thinking output instead of user-facing answers. This aligns MS Teams behavior with other channels that suppress reasoning-only output.

Tests

  • ./node_modules/.bin/vitest extensions/msteams/src/messenger.test.ts

Fixes #25458

Greptile Summary

Adds reasoning-only text suppression to MS Teams channel rendering, preventing internal thinking traces from leaking to users. Follows the established pattern from Matrix (1298bd4) and Discord (e8a4d5d) channels.

  • Introduced isReasoningOnlyText() helper that detects Reasoning:\n prefix and thinking tags
  • Modified payload rendering to suppress reasoning text while preserving media attachments
  • Added regression tests covering reasoning-only payloads and media preservation

Confidence Score: 5/5

  • Safe to merge with high confidence
  • Implementation follows established patterns from Matrix and Discord channels, includes comprehensive regression tests, and handles edge cases (media preservation, empty text) correctly
  • No files require special attention

Last reviewed commit: 591470c

@openclaw-barnacle
Copy link
Copy Markdown

This pull request has been automatically marked as stale due to inactivity.
Please add updates or it will be closed.

@openclaw-barnacle openclaw-barnacle Bot added the stale Marked as stale due to inactivity label Mar 3, 2026
@BradGroux BradGroux self-assigned this Mar 10, 2026
@BradGroux
Copy link
Copy Markdown
Member

Hi @chilu18 — thanks for the submission. I’m the new Microsoft Teams maintainer for OpenClaw. Please give me a day or two to work through the open Teams backlog. Also, join the Twitter community for daily MS Teams feedback + updates: https://x.com/i/communities/2031170403607974228

1 similar comment
@BradGroux
Copy link
Copy Markdown
Member

Hi @chilu18 — thanks for the submission. I’m the new Microsoft Teams maintainer for OpenClaw. Please give me a day or two to work through the open Teams backlog. Also, join the Twitter community for daily MS Teams feedback + updates: https://x.com/i/communities/2031170403607974228

@BradGroux
Copy link
Copy Markdown
Member

Closing this stale Microsoft-tracker item for cleanup. If this is still an issue or still worth pursuing, please re-open it. We now have dedicated Microsoft maintainers watching this area.

@BradGroux BradGroux closed this Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: msteams Channel integration: msteams size: XS stale Marked as stale due to inactivity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: @openclaw/msteams plugin delivers reasoning tokens instead of final answer when reasoning is enabled

3 participants