mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-23 16:36:23 +00:00
The un-mentioned wake decision relied on three checks: thread root in _bot_message_ts (populated only by the adapter's own send() path), _mentioned_threads (populated on @mention), and an existing session. Two gaps (#63530): - Gap A: bot messages posted OUTSIDE gateway send() — skills/scripts calling chat.postMessage directly, cron/API posts — never enter _bot_message_ts, so human replies in those threads were silently dropped. - Gap B: _bot_message_ts is process memory; after a gateway restart the bot stopped waking on replies to threads it started before the restart. Fix: add a 4th, API-derived check — _bot_authored_thread_root — which resolves the thread root's author via conversations.replies (cached in _thread_context_cache via the new parent_user_id field, TTL-bounded). Root authorship comes from Slack itself, so it covers outside-send posts and survives restarts, unlike in-memory ts tracking. The wake decision is extracted into _should_wake_on_unmentioned_message for direct unit testing; the legacy checks remain first (cheap, additive). Fixes #63530. Salvaged from #64067 by @knoal (author metadata normalized to their GitHub identity), rebased over the thread-context formatter split and extended with per-team bot-id resolution for multi-workspace installs. |
||
|---|---|---|
| .. | ||
| dingtalk | ||
| discord | ||
| feishu | ||
| google_chat | ||
| homeassistant | ||
| irc | ||
| line | ||
| matrix | ||
| mattermost | ||
| ntfy | ||
| photon | ||
| raft | ||
| simplex | ||
| slack | ||
| sms | ||
| teams | ||
| telegram | ||
| wecom | ||