Files
clawdbot/extensions
Yuri Chukhlib 65dedef65b fix(bluebubbles): debounce by messageId to preserve attachments in text+image messages (#4984)
* fix(bluebubbles): debounce by messageId to preserve attachments in text+image messages

BlueBubbles fires multiple webhook events for a single message - first
without attachment metadata, then ~350ms later with it. Previously,
messages with attachments bypassed debouncing and were processed
immediately, while the text-only version was also queued.

Now the debouncer uses messageId as the key when available, coalescing
all webhook events for the same message. The existing combineDebounceEntries
function merges attachments from all events.

Closes #4848

* fix: increase debounce and handle balloon messages

- Increase DEFAULT_INBOUND_DEBOUNCE_MS from 350ms to 500ms
- Update buildKey to use associatedMessageGuid for balloon messages
- Add regression test for debouncing behavior

Fixes issues identified in code review.

---------

Co-authored-by: Yurii Chukhlib <yurii.chukhlib@viber.com>
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM>
2026-01-30 15:53:14 -08:00
..
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00
2026-01-30 06:25:45 +01:00