Summary
The Telegram empty-text bug is still reproducible on the current upstream/main.
While validating PR #17629, I reproduced formatter outputs that become empty HTML for specific markdown inputs. This still creates a path where Telegram can reject sendMessage with 400: Bad Request: message text is empty (especially in threaded delivery paths).
Repro (latest main)
- Repo:
openclaw/openclaw
- Branch/commit:
upstream/main @ 8ea936cdd
- Date: 2026-02-24
Added a focused test on upstream/main and confirmed:
markdownToTelegramHtml('>') === ''
markdownToTelegramHtml('[]()') === ''
Why this still matters
If rendered HTML is empty and passed through Telegram send paths, Telegram rejects the message body with:
400: Bad Request: message text is empty
Related history
Proposed path
Use #17629 as the canonical fix path (it adds formatter safety net + delivery fallback) and re-triage against current main based on the reproducible cases above.
Summary
The Telegram empty-text bug is still reproducible on the current
upstream/main.While validating PR #17629, I reproduced formatter outputs that become empty HTML for specific markdown inputs. This still creates a path where Telegram can reject sendMessage with
400: Bad Request: message text is empty(especially in threaded delivery paths).Repro (latest main)
openclaw/openclawupstream/main@8ea936cddAdded a focused test on
upstream/mainand confirmed:markdownToTelegramHtml('>') === ''markdownToTelegramHtml('[]()') === ''Why this still matters
If rendered HTML is empty and passed through Telegram send paths, Telegram rejects the message body with:
400: Bad Request: message text is emptyRelated history
Proposed path
Use #17629 as the canonical fix path (it adds formatter safety net + delivery fallback) and re-triage against current
mainbased on the reproducible cases above.