Skip to content

fix: harden BlueBubbles webhook handling - #32691

Closed
Oceanswave wants to merge 2 commits into
NousResearch:mainfrom
Oceanswave:fix/bluebubbles-webhook-conflicts
Closed

fix: harden BlueBubbles webhook handling#32691
Oceanswave wants to merge 2 commits into
NousResearch:mainfrom
Oceanswave:fix/bluebubbles-webhook-conflicts

Conversation

@Oceanswave

Copy link
Copy Markdown

Summary

  • tolerate BlueBubbles webhook port conflicts for one-shot outbound sends by falling back to outbound-only mode
  • keep outbound-only cleanup from unregistering the long-running gateway webhook
  • classify status-only updated-message webhooks and dedupe inbound message payloads to avoid duplicate replies
  • preserve paragraph breaks in one iMessage bubble instead of splitting normal replies into multiple bubbles

Test Plan

  • python -m pytest tests/gateway/test_bluebubbles.py -q
  • python -m py_compile gateway/platforms/bluebubbles.py tests/gateway/test_bluebubbles.py
  • git diff --cached --check
  • local smoke: patched BlueBubbles adapter connected while the gateway owned the webhook port and sent a Markdown document attachment successfully

@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/gateway Gateway runner, session dispatch, delivery labels May 26, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Related to #12439 (webhook port conflict in standalone send path) and #18395 (webhook dedup). This PR bundles fixes for multiple BlueBubbles issues: port conflict fallback, webhook lifecycle, message dedup, and paragraph handling.

@Oceanswave

Copy link
Copy Markdown
Author

Reapplied on top of current upstream main after the Kanban DB hardening landed. Added the BlueBubbles webhook hardening plus DM chat-variant dedupe.\n\nValidation: python -m pytest tests/gateway/test_bluebubbles.py -o addopts= -q → 61 passed.

@Oceanswave

Copy link
Copy Markdown
Author

Closing this in favor of the consolidated BlueBubbles hardening PR: #45317

That PR folds the repeated local reapply work into one clean branch and explicitly documents the purpose/struggles: BlueBubbles updates can produce duplicate inbound iMessage turns, status-only updated-message webhook echoes, fragile typing behavior, and one-shot outbound adapter conflicts with the gateway-owned webhook listener. It also includes the focused regression suite covering the consolidated behavior.

@Oceanswave

Copy link
Copy Markdown
Author

Superseded by consolidated BlueBubbles hardening PR #45317.

@Oceanswave Oceanswave closed this Jun 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery P2 Medium — degraded but workaround exists type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants