-
-
Notifications
You must be signed in to change notification settings - Fork 53k
Description
Problem
When OpenClaw is processing a message on Feishu, the typing indicator keepalive mechanism repeatedly calls addTypingIndicator() every 3 seconds (via createTypingKeepaliveLoop). This causes Feishu to treat each re-add as a new reaction event, triggering a push notification to the user each time.
The user receives multiple identical push notifications for the same message while waiting for a response — the longer the processing time (e.g., during tool calls), the more notifications they receive.
Root Cause
In reply-YQvtZDnf.js / src/channels/typing.ts, createTypingCallbacks sets up a keepalive loop:
const keepaliveLoop = createTypingKeepaliveLoop({
intervalMs: keepaliveIntervalMs, // default 3000ms
onTick: fireStart // calls addTypingIndicator() every 3s
});Each tick calls addTypingIndicator() which does a fresh messageReaction.create API call, adding a new reaction rather than refreshing the existing one. Feishu fires a push notification for every new reaction added, even if the emoji is the same.
Expected Behavior
The keepalive should not trigger additional push notifications. Ideally:
- Check if the reaction already exists before re-adding it, OR
- Use a different keepalive strategy that doesn't involve re-adding the same reaction
Environment
- Channel: Feishu
- OpenClaw version: 2026.2.24 (df9a474)
- Feishu plugin:
extensions/feishu
Workaround
User can disable Feishu notifications for reaction events in Feishu Settings → Notifications → disable "Notify me when my message is reacted to".