Skip to content

fix(feishu): preserve threaded replies - #17895

Closed
stevenchouai wants to merge 5 commits into
NousResearch:mainfrom
stevenchouai:fix/feishu-thread-replies
Closed

fix(feishu): preserve threaded replies#17895
stevenchouai wants to merge 5 commits into
NousResearch:mainfrom
stevenchouai:fix/feishu-thread-replies

Conversation

@stevenchouai

Copy link
Copy Markdown
Contributor

Summary

  • preserve Feishu/Lark root message ids as gateway thread routing targets
  • fall back to metadata.thread_id when sending Feishu replies without an explicit reply_to
  • keep streamed progress/status messages in the originating Feishu thread
  • add regression coverage for inbound root_id handling and metadata-based threaded replies

Test Plan

  • python -m py_compile gateway/run.py gateway/platforms/feishu.py
  • python -m pytest tests/gateway/test_feishu.py -q -o 'addopts='

@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/feishu Feishu / Lark adapter labels Apr 30, 2026
…eplies

# Conflicts:
#	gateway/platforms/feishu.py
@stevenchouai

Copy link
Copy Markdown
Contributor Author

Local validation update: GitHub reports no checks on this branch, so I ran the focused Feishu gateway suite locally with the repo wrapper. Result: scripts/run_tests.sh tests/gateway/test_feishu.py → 200 passed, 8 dependency deprecation warnings.

@stevenchouai

Copy link
Copy Markdown
Contributor Author

Rechecked this before merge:

  • python -m py_compile gateway/run.py gateway/platforms/feishu.py
  • scripts/run_tests.sh tests/gateway/test_feishu.py -q

Result: 200 passed, 8 warnings locally. GitHub reports no checks for this branch. I tried to merge after validation, but this fork account does not have MergePullRequest permission on NousResearch/hermes-agent, so this still needs a maintainer merge.

@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the focused Feishu regression work. This is already implemented on current main.

  • Automated hermes-sweeper review verified inbound root/thread routing in plugins/platforms/feishu/adapter.py:3252.
  • Progress delivery uses the originating event as reply_to in gateway/run.py:17358, while status and stream paths carry reply_to_message_id in gateway/run.py:17800 and gateway/run.py:17987.
  • Metadata-based threaded replies are implemented in plugins/platforms/feishu/adapter.py:4609 and covered by tests/gateway/test_feishu.py:2080.
  • The equivalent salvage merged as fix(feishu): keep topic replies in threads (salvage #19750) #20851 (441ef75d157d6308a9f14d42a7b0ec8566866ef8; follow-up merge commit 28299afc21a37784d93b90924317f004ea2298af) and shipped in v2026.5.7.

@teknium1 teknium1 closed this Jul 12, 2026
@teknium1 teknium1 added the sweeper:implemented-on-main Sweeper: behavior already present on current main label Jul 12, 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 P2 Medium — degraded but workaround exists platform/feishu Feishu / Lark 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