fix(feishu): render Markdown tables natively instead of falling back to plain text (#61643) - #61647
fix(feishu): render Markdown tables natively instead of falling back to plain text (#61643)#61647CAIHEee wants to merge 1 commit into
Conversation
…to plain text (NousResearch#61643) The Feishu outbound payload builder was force-routing any message containing a Markdown table to the text message type, based on an outdated assumption that post-type 'md' elements do not render tables. Verified on Feishu IM (PC + mobile, 2026-07-10) that GFM tables now render natively inside md elements. The fix: - Adds `(^\|.*\|)` to `_MARKDOWN_HINT_RE` so messages containing only a table still route to post (the existing regex had no `|` clause). - Removes the force-text branch in `_build_outbound_payload`; tables now flow through the standard markdown rendering path. Stress tested with 8-column / 12-row tables, Chinese content, and long cell wrapping — all render correctly on PC and mobile clients.
|
Thanks for tracing the current plain-text downgrade. Current main still returns Problems
Suggested changes
Automated hermes-sweeper review. |
|
Closing — this was fixed on main by #68121, which removes the |
Fixes #61643.
Summary
The Feishu outbound payload builder was force-routing any message containing a Markdown table to the
textmessage type, based on an outdated assumption that post-typemdelements do not render tables.Verified on Feishu IM (PC + mobile, 2026-07-10) that GFM tables now render natively inside
mdelements — pipe syntax and separator lines render as proper tables with column alignment (left/right/center via:---/---:/:---:).Changes
_MARKDOWN_HINT_RE— added(^\|.*\|)so messages containing only a Markdown table still route topost. The existing regex had no clause matching|, which meant table-only messages fell through to plain text._build_outbound_payload— removed the force-textbranch for content matching_MARKDOWN_TABLE_RE. Tables now flow through the standard Markdown rendering path.Net diff: +9 / −7 lines.
Testing
Stress-tested locally with
hermes send --to feishu:|→ not misidentified as tableImpact
Currently 100% affected: every Feishu message containing a Markdown table displays raw pipe syntax. After this fix, tables render natively.
Environment
hermes send --to feishu --file <md_with_table.md>