Skip to content

fix: respect renderMode config in Feishu outbound adapter#20

Open
newtontech wants to merge 3 commits intomainfrom
fix/issue-28616
Open

fix: respect renderMode config in Feishu outbound adapter#20
newtontech wants to merge 3 commits intomainfrom
fix/issue-28616

Conversation

@newtontech
Copy link
Owner

Summary

Fixes an inconsistency where the renderMode: "card" configuration was respected by reply messages but ignored by outbound messages in the Feishu extension.

Problem

The feishuOutbound.sendText() always called sendMessageFeishu() which sends post-type messages (using the md tag) regardless of the renderMode configuration. The md tag does NOT support markdown tables.

Meanwhile, reply-dispatcher.ts correctly checked renderMode and used sendMarkdownCardFeishu() when renderMode === "card", which sends interactive-type messages (using the markdown tag) that DO support markdown tables.

This caused inconsistent behavior where:

  • Reply messages could render markdown tables when renderMode: "card" was configured
  • Outbound messages (e.g., openclaw message send) could not render tables even with the same configuration

Changes

  • extensions/feishu/src/outbound.ts:
    • Added renderMode configuration checking in the sendText() method
    • When renderMode === "card", routes to sendMarkdownCardFeishu() instead of sendMessageFeishu()
    • Matches the existing behavior in reply-dispatcher.ts

Related Issue

Fixes openclaw#28616

Test Plan

  1. Configure Feishu with renderMode: "card"
  2. Send a message with markdown table: openclaw message send --channel feishu --to "ou_xxx" "## 商品清单\n\n| 名称 | 数量 | 单价 |\n|:-----|------|:-----|\n| 苹果 | 10 | 3.5元 |"
  3. Verify the table is correctly displayed in the Feishu client

openperf and others added 3 commits February 27, 2026 11:26
…tch (openclaw#27094)

Fix tool-call lookup failures when models emit whitespace-padded names by normalizing
both transcript history and live streamed embedded-runner tool calls before dispatch.

Co-authored-by: wangchunyue <80630709+openperf@users.noreply.github.com>
Co-authored-by: Sid <sidqin0410@gmail.com>
Co-authored-by: Philipp Spiess <hello@philippspiess.com>
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: e418326
Co-authored-by: dsantoreis <220753637+dsantoreis@users.noreply.github.com>
Co-authored-by: Evizero <10854026+Evizero@users.noreply.github.com>
Reviewed-by: @Evizero
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feishu: renderMode config not respected in outbound messages causing markdown tables to fail

3 participants