Peter Steinberger
05eda57b3c
refactor: migrate bundled plugins to message lifecycle
2026-05-06 01:46:42 +01:00
Peter Steinberger
235d06bff1
refactor: trim imessage helper exports
2026-05-01 18:23:49 +01:00
Peter Steinberger
15649228d4
refactor: trim extension helper shims
2026-05-01 14:39:03 +01:00
Peter Steinberger
0fe007f71b
refactor: trim extension test hooks
2026-05-01 14:32:30 +01:00
Alex Knight
e1a7c5b860
fix: handle EPIPE errors on child process stdin writes ( #75602 )
...
Fix three child-process stdin write paths that let async EPIPE errors
escape to uncaughtException and crash the gateway.
extensions/imessage/src/client.ts (the actual #75438 crash path):
- Add child.stdin.on('error') listener in start() to catch async EPIPE
and reject all pending requests via failAll().
- Add write callback to request() stdin.write() that rejects the
specific pending request on error, instead of leaving it hanging
until timeout.
src/agents/mcp-stdio-transport.ts:
- Fix write callback race in send(): previously resolved the promise
immediately when write() returned true, then the write callback with
EPIPE would fire after the promise was already fulfilled. Now always
settles the promise from the write callback so the outcome is known
before resolving.
src/process/exec.ts:
- Add stdin.on('error') before writing input so EPIPE from a
prematurely-exited child is swallowed — the process exit handler
reports the real status.
One reporter observed a gateway crash after 10.5 hours of stable
uptime — a single EPIPE on an iMessage RPC child process stdin write
killed the gateway with code 1.
Fixes : #75438
2026-05-01 21:45:12 +10:00
Peter Steinberger
ffe67e9cdc
refactor(channels): route inbound turns through kernel
2026-04-30 04:08:47 +01:00
Peter Steinberger
c403ea9063
refactor(channels): move more turn policy into kernel
2026-04-30 03:44:21 +01:00
Peter Steinberger
02ebac6250
refactor(channels): share turn dispatch results
2026-04-30 02:58:40 +01:00
Peter Steinberger
9a9cd0c0ab
refactor(channels): add shared turn kernel
2026-04-29 23:16:16 +01:00
Peter Steinberger
7d74c1f4b9
test: align channel fixtures with open dm policy
2026-04-29 07:08:06 +01:00
Peter Steinberger
bd1d1f0f2b
fix: align open DM allowlist policy ( #74112 )
...
* fix: harden telegram open dm allowlist merging
* fix: align open dm allowlist policy
2026-04-29 06:52:12 +01:00
openclaw-clownfish[bot]
be445dd1c1
fix(imessage): normalize leading echoed text corruption
...
Fixes #59973
2026-04-28 21:04:20 -07:00
Peter Steinberger
632b0fd580
chore: update workspace dependencies
2026-04-28 03:09:44 +01:00
Peter Steinberger
56875c4d32
refactor: split generic plugin test fixtures
2026-04-28 01:21:39 +01:00
Peter Steinberger
f34b41f198
refactor: split plugin sdk test helpers
2026-04-28 01:14:19 +01:00
Peter Steinberger
0df6e5a473
refactor: expose plugin test helpers via sdk
2026-04-27 23:45:26 +01:00
Peter Steinberger
74e62c32c3
test: route extension tests through sdk subpaths
2026-04-27 21:58:48 +01:00
Peter Steinberger
f0000ab72d
refactor(plugin-sdk): split infra runtime barrel
2026-04-27 20:50:35 +01:00
Peter Steinberger
4336a7f3a9
refactor(plugin-sdk): narrow config runtime imports
2026-04-27 14:58:32 +01:00
Peter Steinberger
7f3f108521
refactor(config): migrate plugin config access
2026-04-27 12:35:58 +01:00
Peter Steinberger
8a731c1ef7
perf(plugin-sdk): add narrow outbound send deps entry
2026-04-25 22:19:09 +01:00
Peter Steinberger
f88da75ed9
refactor(channels): centralize runtime binding routes
2026-04-22 23:16:57 +01:00
Peter Steinberger
95331e5cc5
fix(channels): thread runtime config through sends
2026-04-22 06:47:51 +01:00
Peter Steinberger
8134fe737c
test(extensions): move legacy schema assertions
2026-04-20 21:58:34 +01:00
Peter Steinberger
3a7a1f156d
test(extensions): move remaining channel schema tests
2026-04-20 21:54:49 +01:00
Peter Steinberger
49b2ec1e2e
test(extensions): move config regression coverage
2026-04-20 21:51:34 +01:00
Peter Steinberger
9c9ca5f431
test(extensions): move channel contracts to owners
2026-04-20 20:55:39 +01:00
Peter Steinberger
ca2d89bc4d
test(extensions): move channel contracts out of core
2026-04-20 17:59:51 +01:00
Gustavo Madeira Santana
78ac118427
fix(plugins): stabilize bundled setup runtimes ( #67200 )
...
Merged via squash.
Prepared head SHA: e8d6738fd0
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-15 12:35:18 -04:00
Peter Steinberger
1ea332a658
fix: repair CI type checks
2026-04-12 12:04:59 -07:00
Vincent Koc
ea71a59127
fix(imessage): repair monitor retry type checks
2026-04-12 19:57:37 +01:00
Peter Steinberger
fa87c6334a
fix(imessage): align monitor retry types
2026-04-12 11:52:33 -07:00
Vincent Koc
35a784c165
fix(imessage): retry watch.subscribe startup failures ( #65482 )
...
* fix(imessage): retry watch.subscribe startup failures
* fix(imessage): sanitize watch error logging
2026-04-12 19:40:19 +01:00
Peter Steinberger
d85b2a0e81
refactor: simplify core conversions
2026-04-11 01:17:51 +01:00
Peter Steinberger
c077af987f
perf: add narrow inbound roots sdk surface
2026-04-10 17:34:41 +01:00
Peter Steinberger
bac98d4218
test: reduce media contract import cost
2026-04-10 17:31:08 +01:00
Neerav Makwana
782b5622b6
fix: strip wrapped imsg rpc text fields ( #64000 ) (thanks @neeravmakwana)
...
* fix(imessage): strip length-prefixed UTF-8 from imsg rpc text
* fix: strip wrapped imsg rpc text fields (#64000 ) (thanks @neeravmakwana)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-10 14:00:09 +05:30
Ayaan Zaidi
e3e2a19ab7
fix(imessage): drop ambiguous reflected self-chat echoes
2026-04-10 13:42:02 +05:30
Neerav Makwana
8ed7c95a6a
fix: require destination_caller_id for self-chat classification ( #63989 ) (thanks @neeravmakwana)
...
* fix(imessage): require destination_caller_id for self-chat classification (#63980 )
Made-with: Cursor
* fix(imessage): scope self-chat cache to self-chat
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-10 13:36:01 +05:30
Vincent Koc
503b43f43f
fix(extensions): remove remaining line and imessage type back-edges
2026-04-10 08:16:28 +01:00
Vincent Koc
6784cc692c
fix(extensions): split account config type seams
2026-04-10 08:16:28 +01:00
Ayaan Zaidi
1ee4a1606e
fix: exclude DM participant lists from iMessage self-chat check
2026-04-09 17:23:22 +05:30
Neerav Makwana
9267c3f8f2
fix: preserve iMessage self-chat aliases ( #61619 ) (thanks @neeravmakwana)
...
* fix(imessage): avoid DM self-chat false positives
* fix(imessage): treat blank destination caller id as missing
* fix(imessage): preserve alias self-chat
* fix: preserve iMessage self-chat aliases (#61619 ) (thanks @neeravmakwana)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-09 17:13:22 +05:30
Altay
554bc0a9fd
fix(plugins): keep test helpers out of contract barrels ( #63311 )
...
Merged via squash.
Prepared head SHA: 769e90c6af
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-04-08 22:59:05 +01:00
Peter Steinberger
2187b19d7e
refactor: dedupe extension lowercase helpers
2026-04-07 22:24:32 +01:00
Peter Steinberger
4bcbb22678
refactor: dedupe messaging lowercase helpers
2026-04-07 15:53:49 +01:00
Peter Steinberger
9314bb7180
refactor: dedupe extension lowercase helpers
2026-04-07 15:12:32 +01:00
Peter Steinberger
67da64f98d
test: split imessage status coverage
2026-04-07 13:59:10 +01:00
Peter Steinberger
625fd5b3e3
refactor: centralize inbound mention policy
2026-04-07 07:51:00 +01:00
Peter Steinberger
1275b9b873
refactor: dedupe account name normalization
2026-04-07 06:07:13 +01:00