Mariano Belinky
f2c544f057
Gateway: tighten node pending drain semantics
2026-03-09 21:44:33 +01:00
Mariano Belinky
c49af9ea7c
Gateway: scope node pending drain to nodes
2026-03-09 21:25:00 +01:00
Mariano Belinky
54536e48f5
Gateway: add pending node work primitives
2026-03-09 21:21:12 +01:00
Robin Waslander
2b2e5e2038
fix(cron): do not misclassify empty/NO_REPLY as interim acknowledgement ( #41401 )
...
* fix(cron): do not misclassify empty/NO_REPLY as interim acknowledgement
When a cron task's agent returns NO_REPLY, the payload filter strips the
silent token, leaving an empty text string. isLikelyInterimCronMessage()
previously returned true for empty input, causing the cron runner to
inject a forced rerun prompt ('Your previous response was only an
acknowledgement...').
Change the empty-string branch to return false: empty text after payload
filtering means the agent deliberately chose silent completion, not that
it sent an interim 'on it' message.
Fixes #41246
* fix(cron): do not misclassify empty/NO_REPLY as interim acknowledgement
Fixes #41246 . (#41383 ) thanks @jackal092927.
---------
Co-authored-by: xaeon2026 <xaeon2026@gmail.com >
2026-03-09 21:16:28 +01:00
Mariano
0bcddb3d4f
iOS: reconnect gateway on foreground return ( #41384 )
...
Merged via squash.
Prepared head SHA: 0e2e0dcc36
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-09 21:12:23 +01:00
Vincent Koc
d86647d7db
Doctor: fix non-interactive cron repair gating ( #41386 )
2026-03-09 12:35:31 -07:00
Altay
87d939be79
Agents: add embedded error observations ( #41336 )
...
Merged via squash.
Prepared head SHA: 4900042298
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-09 22:27:05 +03:00
Mariano
d4e59a3666
Cron: enforce cron-owned delivery contract ( #40998 )
...
Merged via squash.
Prepared head SHA: 5877389e33
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-09 20:12:37 +01:00
Vincent Koc
7b88249c9e
fix(telegram): bridge direct delivery to internal message:sent hooks ( #40185 )
...
* telegram: bridge direct delivery message hooks
* telegram: align sent hooks with command session
2026-03-09 11:21:19 -07:00
Vincent Koc
12702e11a5
plugins: harden global hook runner state ( #40184 )
2026-03-09 11:20:33 -07:00
Pejman Pour-Moezzi
14bbcad169
fix(acp): propagate setSessionMode gateway errors to client ( #41185 )
...
* fix(acp): propagate setSessionMode gateway errors to client
* fix: add changelog entry for ACP setSessionMode propagation (#41185 ) (thanks @pejmanjohn)
---------
Co-authored-by: Pejman Pour-Moezzi <481729+pejmanjohn@users.noreply.github.com >
Co-authored-by: Onur <onur@textcortex.com >
2026-03-09 17:50:38 +01:00
Pejman Pour-Moezzi
eab39c721b
fix(acp): map error states to end_turn instead of unconditional refusal ( #41187 )
...
* fix(acp): map error states to end_turn instead of unconditional refusal
* fix: map ACP error stop reason to end_turn (#41187 ) (thanks @pejmanjohn)
---------
Co-authored-by: Pejman Pour-Moezzi <481729+pejmanjohn@users.noreply.github.com >
Co-authored-by: Onur <onur@textcortex.com >
2026-03-09 17:37:33 +01:00
Radek Sienkiewicz
4815dc0603
Update CONTRIBUTING.md
2026-03-09 17:27:29 +01:00
Robin Waslander
2cce45962f
Add Robin Waslander to maintainers
2026-03-09 17:23:56 +01:00
Radek Sienkiewicz
258b7902a4
Update CONTRIBUTING.md
2026-03-09 17:13:16 +01:00
xaeon2026
425bd89b48
Allow ACP sessions.patch lineage fields on ACP session keys ( #40995 )
...
Merged via squash.
Prepared head SHA: c1191edc08
Co-authored-by: xaeon2026 <264572156+xaeon2026@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-09 17:08:11 +01:00
Charles Dusek
54be30ef89
fix(agents): bound compaction retry wait and drain embedded runs on restart ( #40324 )
...
Merged via squash.
Prepared head SHA: cfd99562d6
Co-authored-by: cgdusek <38732970+cgdusek@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-09 08:27:29 -07:00
Daniel Reis
fbf5d56366
test(context-engine): add bundle chunk isolation tests for registry ( #40460 )
...
Merged via squash.
Prepared head SHA: 44622abfbc
Co-authored-by: dsantoreis <220753637+dsantoreis@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-09 08:15:35 -07:00
Joshua Lelon Mitchell
98ea71aca5
fix(swiftformat): exclude HostEnvSecurityPolicy.generated.swift from formatters ( #39969 )
2026-03-09 07:30:43 -07:00
opriz
51bae75120
fix(kimi-coding): fix kimi tool format: use native Anthropic tool schema instead of OpenAI … (openclaw#40008)
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: opriz <51957849+opriz@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-09 08:28:47 -05:00
Radek Sienkiewicz
f2f561fab1
fix(ui): preserve control-ui auth across refresh ( #40892 )
...
Merged via squash.
Prepared head SHA: f9b2375892
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-03-09 12:50:47 +01:00
Peter Steinberger
f6d0712f50
build: sync plugin versions for 2026.3.9
2026-03-09 08:39:52 +00:00
Peter Steinberger
6c579d7842
fix: stabilize launchd paths and appcast secret scan
2026-03-09 08:37:37 +00:00
Peter Steinberger
f9706fde6a
build: bump unreleased version to 2026.3.9
2026-03-09 08:33:58 +00:00
Peter Steinberger
7217b97658
fix(onboard): avoid persisting talk fallback on fresh setup
2026-03-09 08:33:58 +00:00
Peter Steinberger
ce9e91fdfc
fix(launchd): harden macOS launchagent install permissions
2026-03-09 08:14:46 +00:00
Peter Steinberger
3caab9260c
test: narrow gateway loop signal harness
v2026.3.8
2026-03-09 07:42:15 +00:00
Peter Steinberger
d0847ee322
chore: prepare 2026.3.8 npm release
2026-03-09 07:37:50 +00:00
Peter Steinberger
1d3dde8d21
fix(update): re-enable launchd service before updater bootstrap
2026-03-09 07:27:11 +00:00
Peter Steinberger
cc0f30f5fb
test: fix windows runtime and restart loop harnesses
2026-03-09 07:22:23 +00:00
Peter Steinberger
250d3c949e
chore: update appcast for 2026.3.8-beta.1
2026-03-09 07:20:08 +00:00
Peter Steinberger
5fca4c0de0
chore: prepare 2026.3.8-beta.1 release
v2026.3.8-beta.1
2026-03-09 07:09:37 +00:00
Peter Steinberger
66c581c64c
fix: normalize windows runtime shim executables
2026-03-09 07:01:42 +00:00
Peter Steinberger
912aa8744a
test: fix Windows fake runtime bin fixtures
2026-03-09 06:50:52 +00:00
Peter Steinberger
8d2d6db9ad
test: fix Node 24+ test runner and subagent registry mocks
2026-03-09 06:45:13 +00:00
Peter Steinberger
2d55ad05f3
docs: move 2026.3.8 entries back to unreleased
2026-03-09 06:34:53 +00:00
Peter Steinberger
9631f4665c
chore: refresh secrets baseline
2026-03-09 06:31:35 +00:00
Peter Steinberger
e2a1a4a3db
build: sync pnpm lockfile
2026-03-09 06:25:01 +00:00
Peter Steinberger
f82931ba8b
docs: reorder 2026.3.8 changelog by impact
2026-03-09 06:24:29 +00:00
Peter Steinberger
17599a8ea2
refactor: flatten supervisor marker hints
2026-03-09 06:19:30 +00:00
Peter Steinberger
e86b38f09d
refactor: split cron startup catch-up flow
2026-03-09 06:19:10 +00:00
Peter Steinberger
1d301f74a6
refactor: extract telegram polling session
2026-03-09 06:18:07 +00:00
Peter Steinberger
2e79d82198
build: update app deps except carbon
2026-03-09 06:09:33 +00:00
Peter Steinberger
96d17f3cb1
fix: stagger missed cron jobs on restart ( #18925 ) (thanks @rexlunae)
2026-03-09 06:07:43 +00:00
rexlunae
79853aca9c
fix(cron): stagger missed jobs on restart to prevent gateway overload
...
When the gateway restarts with many overdue cron jobs, they are now
executed with staggered delays to prevent overwhelming the gateway.
- Add missedJobStaggerMs config (default 5s between jobs)
- Add maxMissedJobsPerRestart limit (default 5 jobs immediately)
- Prioritize most overdue jobs by sorting by nextRunAtMs
- Reschedule deferred jobs to fire gradually via normal timer
Fixes #18892
2026-03-09 06:07:43 +00:00
Peter Steinberger
2d5e70f3e7
fix: abort telegram getupdates on shutdown ( #23950 ) (thanks @Gkinthecodeland)
2026-03-09 06:03:46 +00:00
George Kalogirou
6186f620d2
fix(telegram): use manual signal forwarding to avoid cross-realm AbortSignal
...
AbortSignal.any() fails in Node.js when signals come from different module
contexts (grammY's internal signal vs local AbortController), producing:
"The signals[0] argument must be an instance of AbortSignal. Received an
instance of AbortSignal".
Replace with manual event forwarding that works across all realms.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 06:03:46 +00:00
George Kalogirou
2767907abf
fix(telegram): abort in-flight getUpdates fetch on shutdown
...
When the gateway receives SIGTERM, runner.stop() stops the grammY polling
loop but does not abort the in-flight getUpdates HTTP request. That request
hangs for up to 30 seconds (the Telegram API timeout). If a new gateway
instance starts polling during that window, Telegram returns a 409 Conflict
error, causing message loss and requiring exponential backoff recovery.
This is especially problematic with service managers (launchd, systemd)
that restart the process immediately after SIGTERM.
Wire an AbortController into the fetch layer so every Telegram API request
(especially the long-polling getUpdates) aborts immediately on shutdown:
- bot.ts: Accept optional fetchAbortSignal in TelegramBotOptions; wrap
the grammY fetch with AbortSignal.any() to merge the shutdown signal.
- monitor.ts: Create a per-iteration AbortController, pass its signal to
createTelegramBot, and abort it from the SIGTERM handler, force-restart
path, and finally block.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 06:03:46 +00:00
Peter Steinberger
9abf014f35
fix(skills): pin validated download roots
2026-03-09 06:00:50 +00:00
Peter Steinberger
cf3a479bd1
fix(node-host): bind bun and deno approval scripts
2026-03-09 05:59:32 +00:00