hermes-agent/gateway/platforms
Teknium da9f96bf51
fix(weixin): keep multi-line messages in single bubble by default (#7903)
The Weixin adapter was splitting responses at every top-level newline,
causing notification spam (up to 70 API calls for a single long markdown
response). This salvages the best aspects of six contributor PRs:

Compact mode (new default):
- Messages under the 4000-char limit stay as a single bubble even with
  multiple lines, paragraphs, and code blocks
- Only oversized messages get split at logical markdown boundaries
- Inter-chunk delay (0.3s) between chunks prevents WeChat rate-limit drops

Legacy mode (opt-in):
- Set split_multiline_messages: true in platforms.weixin.extra config
- Or set WEIXIN_SPLIT_MULTILINE_MESSAGES=true env var
- Restores the old per-line splitting behavior

Salvaged from PRs #7797 (guantoubaozi), #7792 (luoxiao6645),
#7838 (qyx596), #7825 (weedge), #7784 (sherunlock03), #7773 (JnyRoad).
Core fix unanimous across all six; config toggle from #7838; inter-chunk
delay from #7825.
2026-04-11 12:00:05 -07:00
..
__init__.py Enhance CLI with multi-platform messaging integration and configuration management 2026-02-02 19:01:51 -08:00
ADDING_A_PLATFORM.md docs: finish cron terminology cleanup 2026-03-14 19:20:58 -07:00
api_server.py fix(api): send tool progress as custom SSE event to prevent model corruption (#6972) 2026-04-10 18:55:26 -07:00
base.py fix(gateway): address restart review feedback 2026-04-10 21:18:34 -07:00
bluebubbles.py fix: improve bluebubbles webhook registration resilience 2026-04-10 03:21:45 -07:00
dingtalk.py fix(dingtalk,api): validate session webhook URL origin, cap webhook cache, reject header injection 2026-04-10 03:05:04 -07:00
discord.py feat: multi-agent Discord filtering — skip messages addressed to other bots 2026-04-11 07:46:44 +10:00
email.py fix(gateway): validate Slack image downloads before caching 2026-04-10 03:53:09 -07:00
feishu.py fix(feishu): register group chat member event handlers 2026-04-10 15:46:20 -07:00
homeassistant.py fix(gateway): add request timeouts to HA, Email, Mattermost, SMS adapters (#3258) 2026-03-26 14:36:07 -07:00
matrix.py fix: resolve three high-impact community bugs (#5819, #6893, #3388) (#7881) 2026-04-11 11:12:20 -07:00
mattermost.py fix(security): consolidated security hardening — SSRF, timing attack, tar traversal, credential leakage (#5944) 2026-04-07 17:28:37 -07:00
signal.py fix: Signal duplicate replies with streaming + per-platform tool_progress (#6348) 2026-04-08 17:39:45 -07:00
slack.py fix: make safe_url_for_log public, add SSRF redirect guards to base.py cache helpers 2026-04-10 05:04:28 -07:00
sms.py fix: store asyncio task references to prevent GC mid-execution (#3267) 2026-03-26 14:36:24 -07:00
telegram.py fix(telegram): use valid reaction emojis for processing completion (#7175) 2026-04-10 05:34:33 -07:00
telegram_network.py fix(gateway): replace assertions with proper error handling in Telegram and Feishu 2026-04-10 03:52:00 -07:00
webhook.py fix: complete Weixin platform parity audit — 16 missing integration points 2026-04-10 05:54:37 -07:00
wecom.py fix(gateway): validate Slack image downloads before caching 2026-04-10 03:53:09 -07:00
weixin.py fix(weixin): keep multi-line messages in single bubble by default (#7903) 2026-04-11 12:00:05 -07:00
whatsapp.py refactor: codebase-wide lint cleanup — unused imports, dead code, and inefficient patterns (#5821) 2026-04-07 10:25:31 -07:00