Conversation
b34e09e to
e5049eb
Compare
teknium1
left a comment
There was a problem hiding this comment.
Thanks for tracing the post-stream attachment path. The underlying Feishu reply-routing gap remains on current main: gateway/run.py:13134-13211 builds thread metadata but does not pass a reply anchor to attachment sends, while plugins/platforms/feishu/adapter.py:4609-4621 uses that anchor to send a threaded reply.
Problems
- The proposed
_build_stream_reply_routing()returnsevent_message_idasreply_tofor every platform. Currentgateway/platforms/base.py:87-107intentionally suppresses reply anchors for Telegram forum topics; salvage should use_reply_anchor_for_event(event)instead. - The patch targets the removed
gateway/platforms/feishu.pyand a superseded stream-consumer constructor. Current main usesplugins/platforms/feishu/adapter.pyandinitial_reply_to_idatgateway/run.py:16654-16662. - Current post-stream images go through
send_multiple_images()(gateway/run.py:13162-13169), whose base signature lacksreply_to(gateway/platforms/base.py:3182-3237); the current image path needs explicit coverage.
Suggested changes
- Port the attachment-only fix to current
_deliver_media_from_response()using the established platform-aware anchor helper, and cover document/audio/video plus batched-image delivery for a threaded Feishu event.
Automated hermes-sweeper review.
| platforms should only use explicit source.thread_id metadata. | ||
| """ | ||
| if source.platform == Platform.SLACK: | ||
| thread_id = source.thread_id or event_message_id |
There was a problem hiding this comment.
This returns event_message_id as reply_to for every platform. Current main deliberately returns no reply anchor for Telegram forum topics (gateway/platforms/base.py:87-107); salvage this through _reply_anchor_for_event(event) rather than a generic fallback.
GottZ
left a comment
There was a problem hiding this comment.
This was generated by AI during triage.
Summary
Three PRs address the reply-routing complex. #15258 and #15280 both propagate the originating reply anchor through streamed/mid-turn sends and post-stream voice, video, image, and document delivery, while #15279 contains nearly the same routing groundwork but omits the post-stream attachment path that remains missing on current main.
Related pull requests
- #15258 [closed]
related— (+576/-31) — superseded candidate: Although closed, its diff remains relevant because it includes the same post-stream attachment routing as #15280, alongside broader progress, commentary, approval, retry, and stream-consumer propagation; it also contains an unrelated Feishu group-mention configuration change. - #15279 [closed]
related— (+520/-34) — implemented on main: This closed PR propagates reply anchors through streamed and mid-turn text paths, but not through _deliver_media_from_response(); the contributor closure review identifies commits ff14666 and 441ef75 as the current-main implementation of that shared groundwork. - #15280
related— (+587/-35) — salvage and update: Its materially useful residual is post-stream attachment routing, but that change is also present in closed #15258 rather than unique to this PR. Consistent with the keep_open review on #15280, the fix should be ported onto current main using _reply_anchor_for_event(event), the plugin-based Feishu adapter, and the current initial_reply_to_id API, with explicit send_multiple_images coverage; the present diff targets removed or superseded interfaces and applies event_message_id too broadly across platforms.
Duplicates
#15258 and #15280 contain essentially the same full reply-routing and post-stream attachment changes; #15279 duplicates their shared streamed/mid-turn routing groundwork but lacks the attachment-delivery additions.
Suggested consolidation
Merge #15280 only after reducing it to a current-main port of the remaining post-stream media/file gap and addressing every item in its keep_open review, especially platform-safe reply-anchor selection and the current multi-image path. Keep #15258 and #15279 closed as superseded/implemented-on-main duplicates; do not merge any of the stale full diffs as-is.
Cross-PR triage: Reviewed 3 pull requests and 0 issues in this complex. Each diff was read against this issue; Assessment working set: 116 kB of PR diffs, 2 kB of issue/PR text, 3 kB of discussion (2 comments), 1 verify verdict. verdicts reflect diff content, not PR titles. Part of an automated triage batch.
Summary
Test Plan
Notes