mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-30 06:41:51 +00:00
Top-level channel messages arrive at _resolve_thread_ts with metadata.thread_id set to the message's own ts, because the inbound handler in _handle_message_event uses 'event.ts' as a session-keying fallback when event.thread_ts is absent. That made metadata alone insufficient to distinguish a real thread reply from a top-level message, so reply_in_thread=false only took effect in DMs. Use reply_to (== incoming message_id == ts for top-level messages) as the tiebreaker: when metadata.thread_id == reply_to the 'thread' is the synthetic session-keying fallback, not a real parent, so we reply directly in the channel. Real thread replies (reply_to != thread_id) still resolve to the parent thread and preserve conversation context. Closes #9268. |
||
|---|---|---|
| .. | ||
| builtin_hooks | ||
| platforms | ||
| __init__.py | ||
| channel_directory.py | ||
| config.py | ||
| delivery.py | ||
| display_config.py | ||
| hooks.py | ||
| mirror.py | ||
| pairing.py | ||
| restart.py | ||
| run.py | ||
| session.py | ||
| session_context.py | ||
| status.py | ||
| sticker_cache.py | ||
| stream_consumer.py | ||
| whatsapp_identity.py | ||