Commit Graph

244 Commits

Author SHA1 Message Date
Peter Steinberger b1e3e59429
fix(ci): align stale provider and channel tests 2026-04-04 09:35:14 +01:00
Peter Steinberger b0e1551eb8
refactor(extensions): add channel-owned config schema seams 2026-04-04 05:31:11 +01:00
Peter Steinberger 1246e2b03a
refactor(extensions): move channel-specific config surfaces out of core 2026-04-04 05:06:32 +01:00
Peter Steinberger 5b144655f2
test(ci): align channel defaults and clean stale hook tests 2026-04-04 04:51:33 +01:00
Peter Steinberger 32ba917079
perf: split infra, tooling, and provider test lanes 2026-04-04 04:39:47 +01:00
Vincent Koc 6c31b2fbc5 refactor(imessage): narrow channel runtime imports 2026-04-04 11:59:38 +09:00
Peter Steinberger 1e6e685347
fix: unblock cli startup metadata 2026-04-04 02:35:36 +01:00
Vincent Koc bb4e54ccf7 fix(ci): restore plugin sdk boundary seams 2026-04-04 08:51:57 +09:00
Peter Steinberger ab318de8b7
test(plugins): finish moving contract coverage 2026-04-04 00:11:39 +01:00
Peter Steinberger e4b5027c5e
refactor(plugins): move extension seams into extensions 2026-04-04 00:10:16 +01:00
Tak Hoffman 8e023ffd06
fix: honor imessage default setup status 2026-04-03 15:49:56 -05:00
Peter Steinberger 4b71a94450
fix(ci): repair contract and interaction drift 2026-04-03 19:57:35 +01:00
Peter Steinberger 1c66a050c2
refactor(plugins): move outbound dep aliases into extensions 2026-04-03 19:53:38 +01:00
Tak Hoffman d305a80acd
fix: honor imessage setup default account 2026-04-03 13:50:52 -05:00
Tak Hoffman 4f5f1fa724
fix: honor imessage default runtime account 2026-04-03 13:44:15 -05:00
Peter Steinberger 6eca4e0136
test: trim extension partial mocks 2026-04-03 19:28:19 +01:00
Peter Steinberger ab96520bba
refactor(plugins): move channel behavior into plugins 2026-04-03 19:09:20 +01:00
Tak Hoffman 4bbd67c21e
fix: honor imessage default account setup policy 2026-04-03 12:56:42 -05:00
Tak Hoffman b929a4c27d
fix: honor imessage setup account status 2026-04-03 12:42:18 -05:00
Peter Steinberger f36ed7105f
test: reduce extension runtime partial mocks 2026-04-03 18:33:47 +01:00
Tak Hoffman b2a9e0d7a7
fix: honor setup binary path account overrides 2026-04-03 11:54:21 -05:00
Tak Hoffman b63a175d3d
fix: honor imessage probe account config 2026-04-03 11:40:50 -05:00
Peter Steinberger d74d47443e
test: trim extension setup startup 2026-04-03 17:33:45 +01:00
Tak Hoffman 8805c7b55b
fix: honor imessage setup dm policy accounts 2026-04-03 10:56:55 -05:00
Vincent Koc 568859e1fb test(extensions): avoid barrel testing helpers in media tests 2026-04-03 21:23:47 +09:00
Peter Steinberger 2766c27b2a
refactor(plugin-sdk): genericize web channel runtime seams 2026-04-03 11:17:28 +01:00
Peter Steinberger 694d12a90b
refactor: apply context visibility across channels 2026-04-03 04:34:57 +09:00
Peter Steinberger 8988894ff7
build: prepare 2026.4.1-beta.1 release 2026-04-01 15:09:19 +01:00
Peter Steinberger 051e31fb55
test: centralize outbound payload contracts 2026-04-01 02:01:48 +01:00
Peter Steinberger 2db2b078ca
test: remove extension group policy wrappers 2026-04-01 01:57:18 +01:00
Peter Steinberger 1f97f907b2
test: centralize registry-backed channel contracts 2026-04-01 01:53:23 +01:00
Peter Steinberger b910cc5869
test: remove extension manifest and core-extension wrappers 2026-04-01 01:44:43 +01:00
Peter Steinberger 9ea7e06460
build: bump version to 2026.4.1 2026-03-31 22:53:17 +01:00
Peter Steinberger 2a60e34f2a
build: prepare 2026.3.31 stable release 2026-03-31 21:32:38 +01:00
Peter Steinberger 91be36ca4f
build: prepare 2026.3.31-beta.1 release 2026-03-31 19:32:49 +01:00
Peter Steinberger 3bb02d3338
fix(media): align outbound sends with fs read capability 2026-04-01 00:07:50 +09:00
Peter Steinberger c425ef3e74
build: bump version to 2026.3.31 2026-03-31 15:48:00 +01:00
Peter Steinberger f3bf7fe53a
chore: bump version to 2026.3.30 2026-03-30 09:28:29 +09:00
Peter Steinberger 63cbc097b5
refactor(channels): route core through registered plugin capabilities 2026-03-30 01:03:42 +01:00
Peter Steinberger 471e059b69
refactor(plugin-sdk): remove channel-specific sdk shims 2026-03-30 01:03:24 +01:00
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
Peter Steinberger f1af7d66d2
chore: bump version to 2026.3.29 2026-03-29 14:33:12 +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 f9b1079283
build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
Peter Steinberger 587e18cd3f chore: prepare 2026.3.28-beta.1 release 2026-03-28 22:24:51 +00:00
Peter Steinberger 8a24cbf450 chore: bump version to 2026.3.28 2026-03-28 22:05:21 +00:00
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