Skip to content

Commit 11c4454

Browse files
committed
docs(imessage): clarify coalesce scenario table for metadata-less imsg builds
The Flag-on column assumed the strict gate; on older imsg builds with no balloon metadata the back-compat path legacy-merges fieldless buckets. Note this on the table header and the attachment/flood rows.
1 parent 74b8e99 commit 11c4454

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

docs/channels/imessage.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -713,14 +713,16 @@ The two rows arrive at OpenClaw ~0.8-2.0 s apart on most setups. Without coalesc
713713

714714
### Scenarios and what the agent sees
715715

716-
| User composes | `chat.db` produces | Flag off (default) | Flag on + 2500 ms window |
716+
The "Flag on" column shows behavior on an `imsg` build that emits `balloon_bundle_id`. On older `imsg` builds that emit no balloon metadata at all, the rows below marked "Two turns" / "N turns" instead fall back to a legacy merge (one turn): OpenClaw cannot structurally tell a split-send from separate sends, so it preserves the pre-metadata merge. Precise separation activates once the build emits balloon metadata.
717+
718+
| User composes | `chat.db` produces | Flag off (default) | Flag on + window (imsg emits balloon metadata) |
717719
| ------------------------------------------------------------------ | ----------------------------------- | --------------------------------------- | ------------------------------------------------ |
718720
| `Dump https://example.com` (one send) | 2 rows ~1 s apart | Two agent turns: "Dump" alone, then URL | One turn: merged text `Dump https://example.com` |
719-
| `Save this 📎image.jpg caption` (attachment + text) | 2 rows without URL balloon metadata | Two turns | Two turns |
721+
| `Save this 📎image.jpg caption` (attachment + text) | 2 rows without URL balloon metadata | Two turns | Two turns (legacy merge on metadata-less builds) |
720722
| `/status` (standalone command) | 1 row | Instant dispatch | **Wait up to window, then dispatch** |
721723
| URL pasted alone | 1 row | Instant dispatch | Wait up to window, then dispatch |
722724
| Text + URL sent as two deliberate separate messages, minutes apart | 2 rows outside window | Two turns | Two turns (window expires between them) |
723-
| Rapid flood (>10 small DMs inside window) | N rows without URL balloon metadata | N turns | N turns after the debounce window |
725+
| Rapid flood (>10 small DMs inside window) | N rows without URL balloon metadata | N turns | N turns (legacy merge on metadata-less builds) |
724726
| Two people typing in a group chat | N rows from M senders | M+ turns (one per sender bucket) | M+ turns — group chats are not coalesced |
725727

726728
## Catching up after gateway downtime

0 commit comments

Comments
 (0)