feat(feishu): skip reply-to in DM conversations#13211
Merged
Takhoffman merged 1 commit intoopenclaw:mainfrom Feb 28, 2026
Merged
feat(feishu): skip reply-to in DM conversations#13211Takhoffman merged 1 commit intoopenclaw:mainfrom
Takhoffman merged 1 commit intoopenclaw:mainfrom
Conversation
Contributor
Additional Comments (1)
This PR sets Prompt To Fix With AIThis is a comment left during a code review.
Path: extensions/feishu/src/reply-dispatcher.ts
Line: 59:63
Comment:
**DM typing indicator disabled**
This PR sets `replyToMessageId` to `undefined` for DMs (`bot.ts:904`), but `createFeishuReplyDispatcher` currently short-circuits typing indicator start when `!replyToMessageId` (`reply-dispatcher.ts:61-63`). As a result, typing indicators will never show in DMs after this change (only group chats will keep them). If typing indicators are still expected for DMs, you’ll need a DM-safe message id to attach the reaction to (or another mechanism), otherwise this is a behavioral regression.
How can I resolve this? If you propose a fix, please make it concise. |
df0209d to
a77d525
Compare
bfc1ccb to
f92900f
Compare
|
This pull request has been automatically marked as stale due to inactivity. |
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
a77d525 to
56839d9
Compare
Contributor
|
Autoland review outcome:
Merged via commit d9230b1. |
r4jiv007
pushed a commit
to r4jiv007/openclaw
that referenced
this pull request
Feb 28, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
mylukin
pushed a commit
to mylukin/openclaw
that referenced
this pull request
Feb 28, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
wanjizheng
pushed a commit
to wanjizheng/openclaw
that referenced
this pull request
Feb 28, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
wanjizheng
pushed a commit
to wanjizheng/openclaw
that referenced
this pull request
Feb 28, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator (cherry picked from commit 86a342b)
wanjizheng
pushed a commit
to wanjizheng/openclaw
that referenced
this pull request
Feb 28, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator (cherry picked from commit 86a342b)
wanjizheng
pushed a commit
to wanjizheng/openclaw
that referenced
this pull request
Feb 28, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator (cherry picked from commit 86a342b)
vincentkoc
pushed a commit
to Sid-Qin/openclaw
that referenced
this pull request
Feb 28, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
vincentkoc
pushed a commit
to rylena/rylen-openclaw
that referenced
this pull request
Feb 28, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
newtontech
pushed a commit
to newtontech/openclaw-fork
that referenced
this pull request
Feb 28, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
wanjizheng
pushed a commit
to wanjizheng/openclaw
that referenced
this pull request
Mar 1, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
wanjizheng
pushed a commit
to wanjizheng/openclaw
that referenced
this pull request
Mar 1, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
ansh
pushed a commit
to vibecode/openclaw
that referenced
this pull request
Mar 2, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
steipete
pushed a commit
to Sid-Qin/openclaw
that referenced
this pull request
Mar 2, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
safzanpirani
pushed a commit
to safzanpirani/clawdbot
that referenced
this pull request
Mar 2, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
steipete
pushed a commit
to Sid-Qin/openclaw
that referenced
this pull request
Mar 2, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
venjiang
pushed a commit
to venjiang/openclaw
that referenced
this pull request
Mar 2, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
execute008
pushed a commit
to execute008/openclaw
that referenced
this pull request
Mar 2, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
dorgonman
pushed a commit
to kanohorizonia/openclaw
that referenced
this pull request
Mar 3, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
sachinkundu
pushed a commit
to sachinkundu/openclaw
that referenced
this pull request
Mar 6, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
zooqueen
pushed a commit
to hanzoai/bot
that referenced
this pull request
Mar 6, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
Mateljan1
pushed a commit
to Mateljan1/openclaw
that referenced
this pull request
Mar 7, 2026
In DM (p2p) chats, use message.create instead of message.reply so that bot responses don't show a 'Reply to' quote. Group chats retain the reply-to behavior for context clarity. The typing indicator (emoji reaction on the user's message) is preserved in DMs — only the reply reference in sent messages is removed. Changes: - Add skipReplyToInMessages param to createFeishuReplyDispatcher - In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites - In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs) for message sending while keeping replyToMessageId for typing indicator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
In Feishu DM (p2p) chats, every bot response shows a 'Reply to' quote referencing the user's last message. This is unnecessary in 1-on-1 conversations and clutters the chat interface.
Root Cause
createFeishuReplyDispatcherinbot.tsalways passesreplyToMessageId: ctx.messageId, which causessend.tsto use theim.message.reply()API instead ofim.message.create(). The reply API inherently adds the 'Reply to' reference.Fix
Only pass
replyToMessageIdin group chats where reply context is useful. In DMs, passundefinedso messages are sent viaim.message.create()without reply references.Both call sites in
bot.tsare updated (normal message dispatch and permission error dispatch).Testing
Tested in production Feishu DM — bot messages no longer show 'Reply to' in DMs while group chat behavior is preserved.
Greptile Overview
Greptile Summary
This PR changes Feishu reply dispatch so DMs no longer send via
im.message.reply()(which shows a “Reply to” quote) by conditionally omittingreplyToMessageIdwhenchat_typeisp2p. Group chats keep the existing reply behavior by still providingreplyToMessageId.The change is localized to
extensions/feishu/src/bot.tscall sites ofcreateFeishuReplyDispatcher, and relies onextensions/feishu/src/send.ts’s branching betweenmessage.replyvsmessage.createbased on whetherreplyToMessageIdis set.Confidence Score: 3/5
replyToMessageId, causing typing indicators to never start in DMs.(2/5) Greptile learns from your feedback when you react with thumbs up/down!