Skip to content

Fix: avoid duplicate replies when message tool sends#659

Merged
steipete merged 2 commits intoopenclaw:mainfrom
optimikelabs:fix/dedupe-message-tool
Jan 10, 2026
Merged

Fix: avoid duplicate replies when message tool sends#659
steipete merged 2 commits intoopenclaw:mainfrom
optimikelabs:fix/dedupe-message-tool

Conversation

@optimikelabs
Copy link
Copy Markdown
Contributor

What\n- Avoid duplicate replies when responses are delivered via the internal message tool by treating it as a messaging tool (dedupe + pending send tracking).\n\n## Why\n- The gateway already disabled streaming/draft chunking, but duplicates still occurred because message-tool sends weren’t deduped.\n\n## Testing\n- pnpm build

@steipete steipete force-pushed the fix/dedupe-message-tool branch from ed16a9b to 4d146ea Compare January 10, 2026 14:29
@steipete steipete merged commit ae3711b into openclaw:main Jan 10, 2026
20 checks passed
@steipete
Copy link
Copy Markdown
Contributor

Landed via temp rebase onto main.\n\n- Gate: pnpm lint && pnpm build && pnpm test\n- Land commit: 4d146ea\n- Merge commit: ae3711b\n\nThanks @mickahouan!

zooqueen pushed a commit to hanzoai/bot that referenced this pull request Mar 6, 2026
zooqueen pushed a commit to hanzoai/bot that referenced this pull request Mar 6, 2026
Fix: avoid duplicate replies when message tool sends
maxtongwang added a commit to maxtongwang/openclaw that referenced this pull request Mar 15, 2026
…lback

Headless macOS users (no GUI Automation grants) need a way to force
Private API for all sends — not just reply threading and effects.
Without this, plain sends fall back to AppleScript which hangs or
times out when the process has no GUI Automation permission.

- types.ts: add `forcePrivateApi?: boolean` to BlueBubblesAccountConfig
- config-schema.ts: add matching zod field to bluebubblesAccountSchema
- send.ts: resolvePrivateApiDecision now accepts `forcePrivateApi` param;
  when true and Private API is unavailable (disabled or unknown), throws a
  clear error instead of silently falling back to AppleScript
- send.test.ts, config-schema.test.ts: 6 new tests covering the behavior

Config:
  channels:
    bluebubbles:
      forcePrivateApi: true  # headless macOS / no GUI Automation

refs openclaw#659

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants