Peter Steinberger
9684ae4c6d
test: tighten process timeout thresholds with stabilized emit guard
2026-02-16 05:09:47 +00:00
Peter Steinberger
0b780789bc
test: further reduce process timeout waits in fast suites
2026-02-16 04:48:55 +00:00
Peter Steinberger
795874711b
test: shorten process timeout waits in exec and supervisor suites
2026-02-16 04:45:44 +00:00
Peter Steinberger
17d8e2a1c8
test: reduce supervisor no-output wait threshold
2026-02-16 04:43:33 +00:00
Peter Steinberger
c53e4e6c8f
test: trim exec timeout waits for faster suite runtime
2026-02-16 04:41:45 +00:00
Peter Steinberger
1b223dbdd8
test: isolate git-hooks integration and stabilize exec timeout
2026-02-16 04:24:00 +00:00
Peter Steinberger
bc65e787c8
test: trim process no-output timeout waits
2026-02-16 04:17:38 +00:00
Peter Steinberger
a7385aa8ac
test: reduce process timeout test latency
2026-02-16 04:08:50 +00:00
Peter Steinberger
83ce48302f
test: trim timeout-heavy exec and telegram cases
2026-02-16 04:00:53 +00:00
Peter Steinberger
31939397a9
test: optimize hot-path test runtime
2026-02-16 03:49:05 +00:00
Peter Steinberger
38ac4b8083
test(pty): stabilize non-windows signal assertion
2026-02-16 03:06:03 +00:00
Peter Steinberger
273d70741f
refactor(supervisor): share env normalization
2026-02-16 01:41:35 +00:00
Onur
cd44a0d01e
fix: codex and similar processes keep dying on pty, solved by refactoring process spawning ( #14257 )
...
* exec: clean up PTY resources on timeout and exit
* cli: harden resume cleanup and watchdog stalled runs
* cli: productionize PTY and resume reliability paths
* docs: add PTY process supervision architecture plan
* docs: rewrite PTY supervision plan as pre-rewrite baseline
* docs: switch PTY supervision plan to one-go execution
* docs: add one-line root cause to PTY supervision plan
* docs: add OS contracts and test matrix to PTY supervision plan
* docs: define process-supervisor package placement and scope
* docs: tie supervisor plan to existing CI lanes
* docs: place PTY supervisor plan under src/process
* refactor(process): route exec and cli runs through supervisor
* docs(process): refresh PTY supervision plan
* wip
* fix(process): harden supervisor timeout and PTY termination
* fix(process): harden supervisor adapters env and wait handling
* ci: avoid failing formal conformance on comment permissions
* test(ui): fix cron request mock argument typing
* fix(ui): remove leftover conflict marker
* fix: supervise PTY processes (#14257 ) (openclaw#14257) (thanks @onutc)
2026-02-16 02:32:05 +01:00
Peter Steinberger
725f63f724
perf(test): fold restart recovery helper into spawn utils suite
2026-02-16 00:18:27 +00:00
Peter Steinberger
ee2fa5f411
refactor(test): reuse env snapshots in unit suites
2026-02-16 00:02:32 +00:00
Peter Steinberger
92f8c0fac3
perf(test): speed up suites and reduce fs churn
2026-02-15 19:29:27 +00:00
Peter Steinberger
a7eb0dd9a5
fix(security): harden Windows child process spawning
2026-02-15 03:24:55 +01:00
Peter Steinberger
5caf829d28
perf(test): trim duplicate gateway and auto-reply test overhead
2026-02-13 23:40:38 +00:00
Peter Steinberger
caebe70e9a
perf(test): cut setup/import overhead in hot suites
2026-02-13 21:23:50 +00:00
Joseph Krug
4e9f933e88
fix: reset stale execution state after SIGUSR1 in-process restart ( #15195 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 676f9ec451
Co-authored-by: joeykrug <5925937+joeykrug@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-13 15:30:09 -05:00
Yi LIU
a5ccfa57a8
refactor(process): use dedicated CommandLaneClearedError in clearCommandLane
...
Replace bare `new Error("Command lane cleared")` with a dedicated
`CommandLaneClearedError` class so callers that fire-and-forget
enqueued tasks can catch this specific type and avoid surfacing
unhandled rejection warnings.
2026-02-13 19:43:20 +01:00
Yi LIU
a49dd83b14
fix(process): reject pending promises when clearing command lane
...
clearCommandLane() was truncating the queue array without calling
resolve/reject on pending entries, causing never-settling promises
and memory leaks when upstream callers await enqueueCommandInLane().
Splice entries and reject each before clearing so callers can handle
the cancellation gracefully.
2026-02-13 19:43:20 +01:00
Shadow
be18f5f0f0
Process: fix Windows exec env overrides
2026-02-13 12:06:47 -06:00
Burak Sormageç
23b1b51568
fix(windows): normalize env entries for spawn
2026-02-13 17:48:04 +01:00
Burak Sormageç
e97aa45428
fix(windows): handle undefined environment variables in runCommandWithTimeout
2026-02-13 17:48:04 +01:00
Burak Sormageç
d7fb01afad
fix(windows): resolve command execution and binary detection issues
2026-02-13 17:48:04 +01:00
Peter Steinberger
9131b22a28
test: migrate suites to e2e coverage layout
2026-02-13 14:28:22 +00:00
0xRain
acb9cbb898
fix(gateway): drain active turns before restart to prevent message loss ( #13931 )
...
* fix(gateway): drain active turns before restart to prevent message loss
On SIGUSR1 restart, the gateway now waits up to 30s for in-flight agent
turns to complete before tearing down the server. This prevents buffered
messages from being dropped when config.patch or update triggers a restart
while agents are mid-turn.
Changes:
- command-queue.ts: add getActiveTaskCount() and waitForActiveTasks()
helpers to track and wait on active lane tasks
- run-loop.ts: on restart signal, drain active tasks before server.close()
with a 30s timeout; extend force-exit timer accordingly
- command-queue.test.ts: update imports for new exports
Fixes #13883
* fix(queue): snapshot active tasks for restart drain
---------
Co-authored-by: Elonito <0xRaini@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-12 07:55:19 -06:00
Jhin
dc8a63cb8b
fix: skip extension append if command already has one
...
Addresses review feedback - now checks path.extname() before
appending .cmd to avoid producing invalid paths like npm.cmd.cmd
2026-01-31 20:39:33 -06:00
Jhin
5c8880ed3f
fix(process): resolve npm/pnpm spawn ENOENT on Windows
...
On Windows, non-.exe commands like npm, pnpm, yarn, npx require
their .cmd extension when using spawn(). This adds a resolveCommand()
helper that automatically appends .cmd on Windows for these commands.
Fixes #5773
2026-01-31 20:39:33 -06:00
cpojer
f06dd8df06
chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts.
2026-02-01 10:03:47 +09:00
cpojer
5ceff756e1
chore: Enable "curly" rule to avoid single-statement if confusion/errors.
2026-01-31 16:19:20 +09:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00
Peter Steinberger
c6cdbb630c
fix: harden exec spawn fallback
2026-01-25 06:37:39 +00:00
Peter Steinberger
242add587f
fix: quiet auth probe diagnostics
2026-01-23 19:53:01 +00:00
Peter Steinberger
6ea4cb0012
fix: suppress npm fund prompts
2026-01-21 03:47:50 +00:00
Peter Steinberger
6734f2d71c
fix: wire OTLP logs for diagnostics
2026-01-20 22:51:47 +00:00
Peter Steinberger
d91f0ceeb3
fix: polish matrix e2ee storage ( #1298 ) (thanks @sibbl)
2026-01-20 11:59:36 +00:00
Peter Steinberger
c9e3c14f9c
fix: finalize exec fish fallback ( #1297 ) (thanks @ysqander)
2026-01-20 11:25:49 +00:00
Peter Steinberger
48f733e4b3
refactor: use command lane enum
2026-01-20 10:51:25 +00:00
Peter Steinberger
2d4de656d2
test: avoid global SIGTERM emit in child-process-bridge
2026-01-17 19:20:48 +00:00
Peter Steinberger
79f340a410
chore: prep 2026.1.14 npm release
2026-01-15 07:47:18 +00:00
Peter Steinberger
154b8e3e0e
fix: bridge respawned child signals ( #933 ) (thanks @roshanasingh4)
...
Co-authored-by: Roshan Singh <roshanasingh4@users.noreply.github.com >
2026-01-15 06:37:27 +00:00
Roshan Singh
d9f2ee40f7
Fix entry respawn signal forwarding
...
Fixes #931
2026-01-15 06:33:28 +00:00
Peter Steinberger
c379191f80
chore: migrate to oxlint and oxfmt
...
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com >
2026-01-14 15:02:19 +00:00
Peter Steinberger
3061d8e057
fix: preserve Windows cmd start URL quoting ( #794 ) (thanks @roshanasingh4)
2026-01-13 04:26:43 +00:00
Peter Steinberger
4a166cf227
fix: add update env regression test ( #713 ) (thanks @danielz1z)
2026-01-11 10:48:46 +00:00
danielz1z
4570e1db7d
fix(update): merge custom env with process.env in spawn
...
When the update runner passes custom env vars (like CLAWDBOT_UPDATE_IN_PROGRESS),
the current code uses `env ?? process.env` which replaces the entire environment
instead of merging — losing PATH, HOME, etc.
This causes the doctor step to fail with 'node: No such file or directory'.
Fix: merge custom env with process.env instead of replacing it.
2026-01-11 10:39:07 +00:00
Peter Steinberger
24c3ab6fe0
fix: unblock claude-cli live runs
2026-01-11 00:55:22 +00:00
Peter Steinberger
246adaa119
chore: rename project to clawdbot
2026-01-04 14:38:51 +00:00