openclaw/extensions
Roy Martin 72abd42d4c
fix(bluebubbles): respect explicit target.service and never short-circuit on weaker matches
Codex review on c905b3a flagged two real issues:

1. Explicit `service: 'sms'` (e.g. `sms:+15551234567`) was still being
   routed to iMessage whenever both chats existed, because the iMessage-
   first preference was hardcoded. Make the preferred service
   parameterized off `target.service`: SMS for explicit `sms` intent,
   iMessage otherwise (covers `imessage`, `auto`, and undefined).

2. Codex also flagged on the prior commit that breaking on
   `participantIMessageMatch` could skip a higher-priority direct
   `iMessage;-;<handle>` match on a later page. Direct > participant in
   our preference order, so the early break was unsound. Remove it
   entirely \u2014 only a direct preferred-service match can short-circuit
   pagination (and that branch already `return`s immediately).

Final return preference is now:
  participantPreferredMatch
    \u2192 directHandleOtherServiceMatch
    \u2192 participantOtherServiceMatch
    \u2192 directHandleUnknownServiceMatch
    \u2192 participantUnknownServiceMatch

Adds three regression tests:
- explicit `service: 'sms'` prefers SMS direct over iMessage direct
- explicit `service: 'sms'` falls back to iMessage when no SMS exists
- later-page direct iMessage beats earlier participant iMessage
2026-04-20 04:01:43 +00:00
..
acpx chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
active-memory fix: align active-memory timeout schema (#68480) (thanks @Bartok9) 2026-04-18 20:31:41 +01:00
alibaba chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
amazon-bedrock chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
amazon-bedrock-mantle chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
anthropic chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
anthropic-vertex chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
arcee chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
bluebubbles fix(bluebubbles): respect explicit target.service and never short-circuit on weaker matches 2026-04-20 04:01:43 +00:00
brave chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
browser browser: route existing-session user profile through browser nodes (#68891) 2026-04-19 12:21:23 +02:00
byteplus chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
chutes chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
cloudflare-ai-gateway chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
codex chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
comfy chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
copilot-proxy chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
deepgram chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
deepseek chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
device-pair test(plugins): fix sync register call sites 2026-04-17 10:14:00 +05:30
diagnostics-otel chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
diffs chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
discord fix: tolerate partial discord channel metadata (#68953) 2026-04-19 17:00:30 +02:00
duckduckgo chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
elevenlabs chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
exa chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
fal chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
feishu chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
firecrawl chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
fireworks chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
github-copilot chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
google chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
googlechat chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
groq chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
huggingface chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
image-generation-core chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
imessage chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
irc chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
kilocode chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
kimi-coding fix: default kimi thinking to off (#68907) 2026-04-19 18:50:54 +08:00
line chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
litellm chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
llm-task chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
lmstudio chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
lobster chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
matrix fix(matrix): align mention-stripped command body 2026-04-19 17:34:37 -04:00
mattermost chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
media-understanding-core chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
memory-core chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
memory-lancedb chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
memory-wiki chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
microsoft chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
microsoft-foundry chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
minimax chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
mistral chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
moonshot chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
msteams chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
nextcloud-talk chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
nostr chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
nvidia chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
ollama chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
open-prose chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
openai chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
opencode chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
opencode-go chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
openrouter chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
openshell chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
perplexity chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
phone-control test(plugins): fix sync register call sites 2026-04-17 10:14:00 +05:30
qa-channel chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
qa-lab qa-lab: make live lanes CI-ready for v1 E2E automation (#69122) 2026-04-19 21:13:27 -05:00
qa-matrix qa-lab: make live lanes CI-ready for v1 E2E automation (#69122) 2026-04-19 21:13:27 -05:00
qianfan chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
qqbot chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
qwen chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
runway chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
searxng chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
sglang chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
shared
signal chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
slack chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
speech-core chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
stepfun chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
synology-chat chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
synthetic chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
talk-voice test(plugins): fix sync register call sites 2026-04-17 10:14:00 +05:30
tavily chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
telegram chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
thread-ownership test(plugins): fix sync register call sites 2026-04-17 10:14:00 +05:30
tlon chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
together chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
twitch chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
venice chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
vercel-ai-gateway chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
video-generation-core chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
vllm chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
voice-call chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
volcengine chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
voyage chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
vydra chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
webhooks chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
whatsapp fix(whatsapp): stabilize auth state and reconcile local runtime after CLI login (#67815) 2026-04-19 14:20:46 -03:00
xai chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
xiaomi chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
zai chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
zalo chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
zalouser chore: prepare 2026.4.19-beta.1 release 2026-04-19 02:09:43 +01:00
.npmignore
AGENTS.md Docs: add test performance guardrails 2026-04-17 02:23:49 -04:00
CLAUDE.md
music-generation-providers.live.test.ts
tsconfig.package-boundary.base.json
tsconfig.package-boundary.paths.json
video-generation-providers.live.test.ts fix: bound live video generation smoke 2026-04-14 14:59:01 +01:00