Skip to content

feat(feishu): add configurable reply-in-thread behavior - #65519

Open
leowzz wants to merge 2 commits into
NousResearch:mainfrom
leowzz:feature/leo/feishu-reply-in-thread-only
Open

feat(feishu): add configurable reply-in-thread behavior#65519
leowzz wants to merge 2 commits into
NousResearch:mainfrom
leowzz:feature/leo/feishu-reply-in-thread-only

Conversation

@leowzz

@leowzz leowzz commented Jul 16, 2026

Copy link
Copy Markdown

Summary

  • add feishu.reply_in_thread for Feishu/Lark
  • when enabled, replies to top-level messages start a topic
  • keep replies inside existing topics regardless of the setting
  • preserve the existing default (false) for backward compatibility
  • add configuration and adapter regression tests
  • document the option in the English and Chinese Feishu guides

Scope

This PR only introduces the configurable behavior. The Feishu API validation and delayed-job thread-delivery fixes are submitted separately.

Testing

  • scripts/run_tests.sh tests/gateway/test_feishu.py tests/gateway/test_config.py tests/gateway/test_run_progress_topics.py -q --tb=short
  • 353 tests passed
  • git diff --check

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/plugins Plugin system and bundled plugins platform/feishu Feishu / Lark adapter sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages labels Jul 16, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the focused Feishu configuration addition. Current main still derives reply_in_thread only from metadata.thread_id in plugins/platforms/feishu/adapter.py:4623; the normal outbound response path supplies a reply anchor at gateway/platforms/base.py:5097-5102. The proposed flag therefore changes the intended top-level reply behavior while retaining existing-topic routing. Its config test matches the established top-level config bridge in gateway/config.py:1280-1283, and the English and Chinese guide updates document the opt-in default clearly.

Automated hermes-sweeper review.

@teknium1 teknium1 added sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform labels Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have platform/feishu Feishu / Lark adapter sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants