Skip to content

fix(slack): support thread targets in send_message - #23764

Closed
bejewel-sangwon wants to merge 1 commit into
NousResearch:mainfrom
bejewel-sangwon:fix/slack-thread-send-message
Closed

fix(slack): support thread targets in send_message#23764
bejewel-sangwon wants to merge 1 commit into
NousResearch:mainfrom
bejewel-sangwon:fix/slack-thread-send-message

Conversation

@bejewel-sangwon

Copy link
Copy Markdown

Summary

  • Parse Slack send_message targets with an optional thread timestamp, e.g. slack:GK0J1C6LT:1778502321.731699.
  • Pass the parsed thread timestamp through to Slack chat.postMessage as thread_ts.
  • Add regression tests for Slack thread target parsing and sender propagation.

Test Plan

  • uv run --extra dev pytest tests/tools/test_send_message_tool.py

@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/gateway Gateway runner, session dispatch, delivery platform/slack Slack app adapter duplicate This issue or pull request already exists labels May 11, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Duplicate of #16992 — same Slack thread target parsing fix (channel_id:thread_ts format).

@teknium1

Copy link
Copy Markdown
Contributor

This looks implemented on current main now. Automated hermes-sweeper review.

Evidence:

  • tools/send_message_tool.py:31 defines Slack thread targets as <conversation_id>:<thread_ts> via _SLACK_THREAD_TARGET_RE.
  • tools/send_message_tool.py:369 parses that Slack thread target and returns (chat_id, thread_id, True).
  • tools/send_message_tool.py:784 forwards thread_id into _send_slack(..., thread_ts=thread_id).
  • tools/send_message_tool.py:1064 / tools/send_message_tool.py:1079 accepts thread_ts and includes it in the Slack chat.postMessage payload.
  • Regression coverage exists in tests/tools/test_send_message_tool.py:312 for Slack thread target propagation.

The parse side landed in 2f28b60a474c880367be612c682f52b8ca9dbb4d, and the Slack API payload propagation landed in 74e845c000de1f32cd325758407ea706f18b7c36, which is contained in v2026.6.5. The prior maintainer note marking this as a duplicate of #16992 matches the implementation now present on main.

@teknium1 teknium1 closed this Jun 11, 2026
@teknium1 teknium1 added the sweeper:implemented-on-main Sweeper: behavior already present on current main label Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery duplicate This issue or pull request already exists P2 Medium — degraded but workaround exists platform/slack Slack app adapter sweeper:implemented-on-main Sweeper: behavior already present on current main type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants