zeroclaw/src
h1n054ur 1c074d5204 fix(discord): use channel name for reply routing instead of discord channel ID
The Discord channel was setting msg.channel to the numeric Discord
channel ID instead of the literal string 'discord'. This caused
process_channel_message() to fail the channels_by_name lookup since
the map is keyed by channel name (e.g. 'discord', 'telegram', 'slack').

The result: the bot receives messages and generates LLM responses but
never sends them back -- target_channel resolves to None so the send
call is silently skipped.

Every other channel (telegram, slack, whatsapp, matrix, signal, irc,
imessage, lark, dingtalk, qq, email, mattermost) correctly sets this
field to its channel name string. Discord was the only one using the
platform-specific ID.
2026-02-18 12:49:06 +08:00
..
agent feat(observability): focus PR 596 on Prometheus backend 2026-02-18 12:06:05 +08:00
approval refactor(sync): migrate remaining std mutex usage to parking_lot 2026-02-18 00:45:26 +08:00
channels fix(discord): use channel name for reply routing instead of discord channel ID 2026-02-18 12:49:06 +08:00
config feat(memory): optional SQLite connection open timeout 2026-02-18 12:18:05 +08:00
cost refactor(sync): migrate remaining std mutex usage to parking_lot 2026-02-18 00:45:26 +08:00
cron feat(channels): add Mattermost integration for sovereign communication 2026-02-18 00:19:20 +08:00
daemon fix(dingtalk,daemon): process stream callbacks and supervise DingTalk channel 2026-02-18 00:42:40 +08:00
doctor feat(doctor): harden provider and workspace diagnostics 2026-02-17 17:20:56 +08:00
gateway feat(observability): focus PR 596 on Prometheus backend 2026-02-18 12:06:05 +08:00
hardware fix(agent): parse tool-call alias tags in channel runtime 2026-02-18 00:28:08 +08:00
health refactor(sync): migrate remaining std mutex usage to parking_lot 2026-02-18 00:45:26 +08:00
heartbeat test: deepen and complete project-wide test coverage (#297) 2026-02-16 05:58:24 -05:00
integrations refactor(provider): unify China alias families across modules 2026-02-18 01:01:57 +08:00
memory feat(memory): optional SQLite connection open timeout 2026-02-18 12:18:05 +08:00
observability feat(observability): focus PR 596 on Prometheus backend 2026-02-18 12:06:05 +08:00
onboard feat(memory): optional SQLite connection open timeout 2026-02-18 12:18:05 +08:00
peripherals fix(agent): parse tool-call alias tags in channel runtime 2026-02-18 00:28:08 +08:00
providers feat(providers): implement chat_with_history for GLM provider 2026-02-18 12:33:51 +08:00
rag chore(lint): extend low-risk clippy cleanup batch 2026-02-17 16:40:58 +08:00
runtime fix: replace std::sync::Mutex with parking_lot::Mutex (#350) 2026-02-16 15:02:46 -05:00
security fix(policy): standardize side-effect tool autonomy gates 2026-02-18 12:42:56 +08:00
service fix(gateway): persist pairing tokens and honor docker config (#630) 2026-02-17 15:05:56 -05:00
skillforge fix(providers): use Bearer auth for Gemini CLI OAuth tokens 2026-02-15 14:32:33 -05:00
skills Merge remote-tracking branch 'origin/main' into feat/glm-provider 2026-02-17 13:27:58 -05:00
tools fix(policy): standardize side-effect tool autonomy gates 2026-02-18 12:42:56 +08:00
tunnel test: deepen and complete project-wide test coverage (#297) 2026-02-16 05:58:24 -05:00
identity.rs fix(providers): use Bearer auth for Gemini CLI OAuth tokens 2026-02-15 14:32:33 -05:00
lib.rs feat(approval): interactive approval workflow for supervised mode (#215) 2026-02-17 23:06:12 +08:00
main.rs chore(ci): align formatting and clippy output for gates 2026-02-18 00:50:51 +08:00
migration.rs feat(memory): add session_id isolation to Memory trait (#530) 2026-02-17 07:44:05 -05:00
util.rs fix(channels): check response status in send() for Telegram, Slack, and Discord 2026-02-15 09:48:58 -05:00