fix(gateway): synthetic/queued messages routed to wrong Telegram DM topic#27114
Closed
Timur00Kh wants to merge 1 commit into
Closed
fix(gateway): synthetic/queued messages routed to wrong Telegram DM topic#27114Timur00Kh wants to merge 1 commit into
Timur00Kh wants to merge 1 commit into
Conversation
…events When /goal loop generates synthetic MessageEvents (goal continuations, status notices), the reply anchor is unavailable (message_id=None). For Telegram DM topic lanes, the Telegram adapter requires direct_messages_topic_id to route messages correctly; without it, the adapter falls back to message_thread_id=None, sending messages to the root 'All Messages' thread instead of the active topic lane. The fix includes direct_messages_topic_id in thread metadata for all non-General Telegram DM topics, ensuring queued/synthetic messages are delivered to the correct thread even when no reply anchor exists.
This comment was marked as spam.
This comment was marked as spam.
Collaborator
This was referenced May 16, 2026
teknium1
added a commit
that referenced
this pull request
May 17, 2026
…tors Adds release-note attribution mappings for 9 contributors from group 3: - @darvsum (PR #26766) - @hueilau (PR #26498) - @Timur00Kh (PR #27114) - @Grogger (PR #27061) - @lemassykoi (PR #27042) - @draplater (PR #26707) - @pr7426 (PR #27048) - @therahul-yo (PR #26215) - @flamiinngo (PR #27205) #27154 dropped from this batch — already landed on main as 4e9cedc.
Contributor
|
Merged via PR #27302 — your commit was cherry-picked onto current |
gweeteve
pushed a commit
to gweeteve/hermes-agent
that referenced
this pull request
Jun 2, 2026
…tors Adds release-note attribution mappings for 9 contributors from group 3: - @darvsum (PR NousResearch#26766) - @hueilau (PR NousResearch#26498) - @Timur00Kh (PR NousResearch#27114) - @Grogger (PR NousResearch#27061) - @lemassykoi (PR NousResearch#27042) - @draplater (PR NousResearch#26707) - @pr7426 (PR NousResearch#27048) - @therahul-yo (PR NousResearch#26215) - @flamiinngo (PR NousResearch#27205) NousResearch#27154 dropped from this batch — already landed on main as 4e9cedc.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #27139
Bug
When
/goalis active in a Telegram DM thread and the judge decides to continue, the continuation message is generated as a syntheticMessageEvent(via_defer_goal_status_notice_after_delivery). These synthetic events havemessage_id=Noneand are queued via_enqueue_fifofor deferred delivery.Because the reply anchor is missing,
_thread_metadata_for_sourceonly settelegram_dm_topic_reply_fallback=Truebut never includeddirect_messages_topic_id. The Telegram adapter then falls back tomessage_thread_id=None, causing the message to land in the root "All Messages" thread instead of the active topic lane.Session context and transcripts were still correct (session key includes
thread_id), but replies were visually lost to the user.Fix
Include
direct_messages_topic_idin thread metadata for all non-General Telegram DM topics. This ensures queued/synthetic messages (goal continuations, status notices) are routed to the correct thread even when no reply anchor exists.Files changed
gateway/run.py: addeddirect_messages_topic_idassignment in_thread_metadata_for_sourcefor Telegram DM topics.Test
/goalcontinuation in a Telegram DM topic thread.