-
-
Notifications
You must be signed in to change notification settings - Fork 52.6k
Description
Problem
When an agent receives a message in a group chat and decides not to respond (returns NO_REPLY), the typing indicator has already fired and remains visible until it times out naturally. This creates a confusing UX for other participants who see the agent "typing" but then nothing appears.
Current Behavior
- Message arrives in group chat
- OpenClaw triggers the model loop → typing indicator starts (with
typingMode: "instant") - Agent processes message, decides no response needed, returns
NO_REPLY - OpenClaw suppresses the message but does not send a stop-typing signal
- Typing indicator times out after a few seconds
Expected Behavior
When a run ends with NO_REPLY (or any silent token), OpenClaw should call the channel's stop-typing endpoint to immediately clear the indicator.
Existing Infrastructure
The plumbing already exists:
- BlueBubbles:
sendBlueBubblesTyping(chatGuid, false)sends DELETE to/api/v1/chat/{guid}/typing - Signal:
sendTypingSignal(to, { stop: true })
Proposed Solution
In the reply/delivery handling logic, when detecting a silent reply (isSilentReplyText returns true), call the appropriate stop-typing function for the active channel before returning.
Workaround
Setting typingMode: "message" avoids the issue but also removes the typing indicator entirely for processing time, which some users prefer to keep.
Reported via Carl (OpenClaw agent)