openclaw/extensions
Rohan Marr b29e180ef4
fix: prevent self-chat dedupe false positives (#55359) (thanks @rmarr)
* fix(imessage): prevent self-chat dedupe false positives (#47830)

Move echo cache remember() to post-send only, add early return when
inbound message ID doesn't match cached IDs (prevents text-based
false positives in self-chat), and reduce text TTL from 5s to 3s.

Three targeted changes to fix silent user message loss in self-chat:

1. deliver.ts: Remove pre-send remember() call — cache only reflects
   successfully-delivered content, not pre-send full text.

2. echo-cache.ts: Skip text fallback when inbound has a valid message ID
   that doesn't match any cached outbound ID. In self-chat, sender == target
   so scopes collide; a user message with a fresh ID but matching text was
   incorrectly dropped as an echo.

3. echo-cache.ts: Reduce text TTL from 5000ms to 3000ms — agent echoes
   arrive within 1-2s, 5s was too wide.

Adds self-chat-dedupe.test.ts (7 tests) + updates deliver.test.ts.
BlueBubbles uses a different cache pattern — no changes needed there.

Closes #47830

* review(imessage): strip debug logs, bump echo TTL to 4s (#47830)

Bruce Phase 4 review changes:
- Remove all [IMSG-DEBUG] console.error calls from inbound-processing.ts
  and monitor-provider.ts (23 lines, left over from Phase 2 debug deploy)
- Bump SENT_MESSAGE_TEXT_TTL_MS from 3s to 4s in echo-cache.ts to give
  ~2s margin above the observed 2.2s echo arrival time under load
- Update TTL tests to reflect 4s TTL (expired at 5s, live at 3s)

* fix(imessage): add dedupe comments and canary/compat/TTL tests

* fix(imessage): address review feedback on echo cache, shadowing, and test IDs

* refactor(imessage): hoist inboundMessageId to eliminate duplicate computation (#47830)

* fix(imessage): unify self-chat echo matching

* fix: use inbound guid for self-chat echo matching (#55359) (thanks @rmarr)

---------

Co-authored-by: Rohan Marr <rmarr@users.noreply.github.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-29 12:51:17 +05:30
..
acpx build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
amazon-bedrock build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
anthropic build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
anthropic-vertex fix: break plugin-sdk provider barrel recursion 2026-03-27 23:47:04 +00:00
bluebubbles build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
brave build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
browser build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
byteplus build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
chutes build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
cloudflare-ai-gateway build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
copilot-proxy build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
deepgram build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
deepseek build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
device-pair fix(regression): allow external device pair approvals 2026-03-27 16:07:54 -05:00
diagnostics-otel build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
diffs build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
discord fix(discord): do not bypass requireMention for configuredBinding channels 2026-03-29 11:17:15 +05:30
duckduckgo build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
elevenlabs build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
exa build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
fal build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
feishu build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
firecrawl build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
github-copilot build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
google build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
googlechat build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
groq build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
huggingface build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
image-generation-core build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
imessage fix: prevent self-chat dedupe false positives (#55359) (thanks @rmarr) 2026-03-29 12:51:17 +05:30
irc build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
kilocode build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
kimi-coding build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
line fix(line): preserve underscores inside words in stripMarkdown (#47465) 2026-03-28 21:31:09 -05:00
litellm build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
llm-task build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
lobster build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
matrix feat(matrix): add draft streaming (edit-in-place partial replies) (#56387) 2026-03-29 01:43:02 -04:00
mattermost fix(tests): refresh mattermost monitor mocks 2026-03-28 21:37:22 -05:00
media-understanding-core build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
memory-core Memory: fix FTS-only branch compile on rebased main 2026-03-29 00:09:33 -07:00
memory-lancedb build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
microsoft fix(tests): refresh generated schema contracts 2026-03-28 21:19:11 -05:00
microsoft-foundry build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
minimax build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
mistral build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
modelstudio build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
moonshot build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
msteams build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
nextcloud-talk build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
nostr build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
nvidia build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
ollama build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
open-prose build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
openai build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
opencode build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
opencode-go build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
openrouter build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
openshell build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
perplexity build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
phone-control fix(regression): restore external phone control commands 2026-03-27 16:57:16 -05:00
qianfan build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
sglang build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
shared refactor: route plugin runtime through bundled seams 2026-03-27 16:40:27 +00:00
signal build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
slack build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
speech-core build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
synology-chat build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
synthetic build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
talk-voice fix(regression): restore external talk voice updates 2026-03-27 16:05:22 -05:00
tavily build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
telegram fix: prevent Telegram polling watchdog from dropping replies (#56343) (thanks @openperf) 2026-03-29 11:11:28 +05:30
thread-ownership fix(extensions): route fetch calls through fetchWithSsrFGuard (#53929) 2026-03-26 02:04:54 -07:00
tlon build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
together build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
twitch build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
venice build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
vercel-ai-gateway build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
vllm build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
voice-call build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
volcengine build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
whatsapp build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
xai build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
xiaomi build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
zai build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
zalo build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
zalouser build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
.npmignore
AGENTS.md Docs: add boundary AGENTS guides (#56647) 2026-03-28 20:22:03 -04:00
CLAUDE.md Docs: add boundary AGENTS guides (#56647) 2026-03-28 20:22:03 -04:00