mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
5db008f384
* fix(channels): dismiss tool feedback animation when turn ends via ResponseHandled When a tool sets ResponseHandled=true (e.g., send_file), the turn ends without producing a final assistant response. This meant no outbound message triggered FinalizeToolFeedbackMessage, leaving the animation goroutine running indefinitely — editing the Feishu card every 3 seconds with "." / ".." suffixes long after the tool had finished. Fix: call DismissToolFeedback at "Tool output satisfied delivery" so the tracker is cleared and the animation goroutine is stopped immediately. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(adapters): add DismissToolFeedback to channelManagerAdapter The adapter must implement the new interface method added in the previous commit, otherwise the package fails to compile. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(channels): pass InboundContext to DismissToolFeedback for topic-aware keys Telegram forum topics use scoped tracker keys like "chatID/topicID", resolved via ToolFeedbackMessageChatID with the InboundContext. The previous nil context caused the lookup to fall back to the raw chatID, missing the topic-scoped entry and leaving the animation goroutine orphaned in forum-topic conversations. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * style: wrap long function signatures for golines Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>