Peter Steinberger
8861cdbb6f
refactor(plugin-sdk): untangle extension test seams
2026-03-29 23:43:53 +01:00
Peter Steinberger
2e0682d930
refactor: finish decoupling plugin sdk seams
2026-03-29 22:42:06 +01:00
Ayaan Zaidi
4a5885df3a
fix(imessage): try all inbound echo ids
2026-03-29 13:00:01 +05:30
Rohan Marr
b29e180ef4
fix: prevent self-chat dedupe false positives ( #55359 ) (thanks @rmarr)
...
* fix(imessage): prevent self-chat dedupe false positives (#47830 )
Move echo cache remember() to post-send only, add early return when
inbound message ID doesn't match cached IDs (prevents text-based
false positives in self-chat), and reduce text TTL from 5s to 3s.
Three targeted changes to fix silent user message loss in self-chat:
1. deliver.ts: Remove pre-send remember() call — cache only reflects
successfully-delivered content, not pre-send full text.
2. echo-cache.ts: Skip text fallback when inbound has a valid message ID
that doesn't match any cached outbound ID. In self-chat, sender == target
so scopes collide; a user message with a fresh ID but matching text was
incorrectly dropped as an echo.
3. echo-cache.ts: Reduce text TTL from 5000ms to 3000ms — agent echoes
arrive within 1-2s, 5s was too wide.
Adds self-chat-dedupe.test.ts (7 tests) + updates deliver.test.ts.
BlueBubbles uses a different cache pattern — no changes needed there.
Closes #47830
* review(imessage): strip debug logs, bump echo TTL to 4s (#47830 )
Bruce Phase 4 review changes:
- Remove all [IMSG-DEBUG] console.error calls from inbound-processing.ts
and monitor-provider.ts (23 lines, left over from Phase 2 debug deploy)
- Bump SENT_MESSAGE_TEXT_TTL_MS from 3s to 4s in echo-cache.ts to give
~2s margin above the observed 2.2s echo arrival time under load
- Update TTL tests to reflect 4s TTL (expired at 5s, live at 3s)
* fix(imessage): add dedupe comments and canary/compat/TTL tests
* fix(imessage): address review feedback on echo cache, shadowing, and test IDs
* refactor(imessage): hoist inboundMessageId to eliminate duplicate computation (#47830 )
* fix(imessage): unify self-chat echo matching
* fix: use inbound guid for self-chat echo matching (#55359 ) (thanks @rmarr)
---------
Co-authored-by: Rohan Marr <rmarr@users.noreply.github.com >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-29 12:51:17 +05:30
Peter Steinberger
70c2458861
refactor: add host and collection runtime sdk seams
2026-03-28 06:19:16 +00:00
Peter Steinberger
83135c31c9
refactor(acp): extract generic current conversation binding store
2026-03-28 05:53:07 +00:00
Peter Steinberger
ee73342445
refactor: use channel runtime for imessage readiness
2026-03-28 04:16:35 +00:00
Peter Steinberger
277af32485
refactor: remove plugin sdk extension facade smells
2026-03-28 03:12:07 +00:00
Peter Steinberger
68416fdf83
refactor(acp): generalize message-channel binds
2026-03-28 02:53:54 +00:00
Peter Steinberger
c42ec81e37
feat(acp): add conversation binds for message channels
2026-03-28 01:54:25 +00:00
Tak Hoffman
a724246547
fix(regression): restore imessage cold-runtime chunking
2026-03-27 20:50:03 -05:00
Peter Steinberger
4ca07559ab
refactor: move provider seams behind plugin sdk surfaces
2026-03-27 23:26:26 +00:00
Peter Steinberger
992b30604d
refactor: move extension-owned tests to extensions
2026-03-27 21:37:09 +00:00
Peter Steinberger
40bd36e35d
refactor: move channel config metadata into plugin-owned manifests
2026-03-27 01:59:30 +00:00
Peter Steinberger
0e182dd3e1
refactor: share top-level setup dm policies
2026-03-26 23:20:26 +00:00
Peter Steinberger
be328e6cd1
test: dedupe extension channel fixtures
2026-03-26 19:47:27 +00:00
Matt Van Horn
e0972db7a2
fix: stop leaking reply tags in iMessage outbound text ( #39512 ) (thanks @mvanhorn)
...
* fix: stop leaking reply tags in iMessage outbound text (#39512 ) (thanks @mvanhorn)
* fix: preserve iMessage outbound whitespace without directive tags (#39512 ) (thanks @mvanhorn)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-25 23:00:16 +05:30
Peter Steinberger
33d31e2b0d
test: collapse imessage test suites
2026-03-25 05:21:16 +00:00
Tak Hoffman
8c89d0e7cd
tests: add boundary coverage for media delivery ( #53361 )
...
* tests: add boundary coverage for media delivery
* tests: isolate telegram outbound adapter transport
* tests: harden telegram webhook certificate assertion
* tests: fix guardrail false positives on rebased branch
2026-03-23 23:37:34 -05:00
Peter Steinberger
fc9739313c
test: harden channel suite isolation
2026-03-23 11:09:12 +00:00
Peter Steinberger
72bfaf6ee2
refactor: share computed channel status adapters
2026-03-22 23:37:12 +00:00
Peter Steinberger
4cc0d05cfb
refactor: share channel runtime state defaults
2026-03-22 23:37:12 +00:00
Peter Steinberger
3a949646da
refactor: simplify builder pairing adapters
2026-03-22 22:45:06 +00:00
Peter Steinberger
dcd5473283
refactor: adopt shared chat plugin builder
2026-03-22 21:37:32 +00:00
Peter Steinberger
99462776d1
refactor: compose shared channel security adapters
2026-03-22 21:37:31 +00:00
Peter Steinberger
2a1acec6a7
refactor: reuse account status helpers in bundled channels
2026-03-22 20:55:16 +00:00
Peter Steinberger
00b2f10dec
refactor: share account snapshot descriptions
2026-03-22 20:55:16 +00:00
Peter Steinberger
7a2709c391
refactor: simplify channel allowlist resolvers
2026-03-22 20:30:21 +00:00
Peter Steinberger
fa13c2960e
refactor: share scoped account accessor adapters
2026-03-22 20:30:21 +00:00
Peter Steinberger
c74a50e4f1
refactor: share merged account config helper
2026-03-22 19:01:52 +00:00
Peter Steinberger
ff759f991e
refactor: share account config merge helper
2026-03-22 19:01:52 +00:00
Peter Steinberger
3382ef2724
perf: reduce plugin runtime startup overhead
2026-03-22 09:35:36 +00:00
Peter Steinberger
2d492ab534
test: tighten regression assertions across extension tests
2026-03-22 07:46:07 +00:00
Peter Steinberger
62ddc9d9e0
refactor: consolidate plugin sdk surface
2026-03-20 19:24:10 +00:00
Tak Hoffman
5b7b5529f1
Plugins: remove shared extension boundary debt
2026-03-18 22:58:40 -05:00
Peter Steinberger
510f4276b5
refactor: tighten sdk reply pipeline contract
2026-03-19 03:13:15 +00:00
Peter Steinberger
002cc07322
refactor: tighten plugin sdk channel surfaces
2026-03-19 00:46:36 +00:00
Vincent Koc
757c2cc2de
fix(release): isolate bundled config docs loading
2026-03-18 16:01:43 -07:00
Peter Steinberger
1746e130f9
test: fix imessage extension CI mocks
2026-03-18 18:20:04 +00:00
Peter Steinberger
62edfdffbd
refactor: deduplicate reply payload handling
2026-03-18 18:14:57 +00:00
Peter Steinberger
8d73bc77fa
refactor: deduplicate reply payload helpers
2026-03-18 17:30:25 +00:00
Peter Steinberger
27f655ed11
refactor: deduplicate channel runtime helpers
2026-03-18 16:37:27 +00:00
scoootscooob
bfecc58a62
xAI: add web search credential metadata ( #49472 )
...
Merged via squash.
Prepared head SHA: faefa4089d
Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com >
Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com >
Reviewed-by: @scoootscooob
2026-03-17 22:08:19 -07:00
Peter Steinberger
05603e4e6c
refactor: deduplicate channel config adapters
2026-03-18 04:51:29 +00:00
Vincent Koc
aa3739167c
Plugins: internalize imessage SDK imports
2026-03-17 21:35:32 -07:00
Gustavo Madeira Santana
e93412b5ce
Outbound: move target resolution heuristics behind plugins
2026-03-18 04:24:54 +00:00
Peter Steinberger
1a9114a169
refactor: deduplicate setup wizard helpers
2026-03-18 03:58:22 +00:00
Gustavo Madeira Santana
4e706da898
iMessage: fix group policy config import
2026-03-18 03:39:21 +00:00
Gustavo Madeira Santana
1f5f3fc2ef
iMessage: move group policy behind plugin boundary
2026-03-18 03:38:01 +00:00
Peter Steinberger
9350cb19dd
refactor: deduplicate plugin setup and channel config helpers
2026-03-18 03:28:05 +00:00