-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
Remove client-side iMessage split-send coalescing once imsg coalesces upstream #91243
Copy link
Copy link
Open
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.maintainerMaintainer-authored PRMaintainer-authored PR
Metadata
Metadata
Assignees
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.maintainerMaintainer-authored PRMaintainer-authored PR
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
Once imsg coalesces Apple URL-preview split-sends upstream (openclaw/imsg#141), OpenClaw no longer needs to debounce + merge them client-side. At that point the entire client-side coalescing path — including the
channels.imessage.coalesceSameSenderDmsconfig — becomes dead weight and should be removed.Background
Apple splits
Dump https://example.cominto a text row + a separate URL-preview row ~0.8–2s apart. Today OpenClaw handles this in the iMessage monitor:channels.imessage.coalesceSameSenderDmsopts a DM into a 2.5s debounce window.chat:sender; on flush, the bucket merges if it carries imsg'sballoon_bundle_idURL marker (fix(imessage): gate split-send coalescing on imsg metadata #90858), else falls back to a legacy merge (interim back-compat for older imsg builds).This imposes up to 2.5s latency on every DM (you must hold the first row before the preview row can arrive) and duplicates logic that belongs in imsg.
What to remove (once imsg#141 ships and is the minimum supported build)
channels.imessage.coalesceSameSenderDmsconfig key (+ schema, help, defaults, docs).chat:senderbucketing, the 2.5sdebounceMsOverride, and theshouldDebounceopt-in branch inextensions/imessage/src/monitor/monitor-provider.ts.combineIMessagePayloads/shouldCombineIMessagePayloadBucket+ balloon helpers inextensions/imessage/src/monitor/coalesce.ts, including the interim back-compat branch added in fix(imessage): gate split-send coalescing on imsg metadata #90858.balloon_bundle_idfield plumbing inparse-notification.ts/types.tsif no longer consumed.Config-removal discipline (AGENTS.md)
coalesceSameSenderDmsis persisted config. Per the runtime-reads-canonical-config rule, removing it requires anopenclaw doctor --fixmigration that drops the stale key from existingopenclaw.jsonfiles — no runtime compat shim. This issue owns that migration.Dependencies / sequencing
Acceptance criteria
coalesceSameSenderDmsremoved from the config surface;doctor --fixmigrates existing configs.