Commit Graph

1073 Commits

Author SHA1 Message Date
Peter Steinberger
1cd3b30907 fix: stop hardcoded channel fallback and auto-pick sole configured channel (#23357) (thanks @lbo728)
Co-authored-by: lbo728 <extreme0728@gmail.com>
2026-02-22 11:21:43 +01:00
maweibin
98a03c490b Feat/logger support log level validation0222 (#23436)
* 1、环境变量**:新增 `OPENCLAW_LOG_LEVEL`,可取值 `silent|fatal|error|warn|info|debug|trace`。设置后同时覆盖**文件日志**与**控制台**的级别,优先级高于配置文件。
2、启动参数**:在 `openclaw gateway run` 上新增 `--log-level <level>`,对该次进程同时生效于文件与控制台;未传时仍使用环境变量或配置文件。

* fix(logging): make log-level override global and precedence-safe

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-22 11:15:13 +01:00
Peter Steinberger
edaa5ef7a5 refactor(gateway): simplify restart flow and expand lock tests 2026-02-22 10:44:47 +01:00
Peter Steinberger
dd07c06d00 fix: tighten gateway restart loop handling (#23416) (thanks @jeffwnli) 2026-02-22 10:38:32 +01:00
jeffr
9c30243c8f fix: release gateway lock before spawning restart child
Move lock.release() before restartGatewayProcessWithFreshPid() so the
spawned child can immediately acquire the lock without racing against
a zombie parent. This eliminates the root cause of the restart loop
where the child times out waiting for a lock held by its now-dead parent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 10:38:32 +01:00
jeffr
01bd83d644 fix: release gateway lock before process.exit in run-loop
process.exit() called from inside an async IIFE bypasses the outer
try/finally block that releases the gateway lock. This leaves a stale
lock file pointing to a zombie PID, preventing the spawned child or
systemctl restart from acquiring the lock. Release the lock explicitly
before calling exit in both the restart-spawned and stop code paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 10:38:32 +01:00
Peter Steinberger
ccc00d874c test(core): reduce mock reset overhead in targeted suites 2026-02-22 08:40:29 +00:00
Peter Steinberger
8a0a28763e test(core): reduce mock reset overhead across unit and e2e specs 2026-02-22 08:22:58 +00:00
Peter Steinberger
0c1a52307c fix: align draft/outbound typings and tests 2026-02-22 08:03:29 +00:00
Peter Steinberger
4f7032fbd9 test(utils): share temp-dir helper across cli and web tests 2026-02-22 07:44:57 +00:00
Peter Steinberger
9d17a30643 refactor(cli): share pinned npm install record helper 2026-02-22 07:44:56 +00:00
Peter Steinberger
2d4e4e2288 refactor(cli): share npm install metadata helpers 2026-02-22 07:44:56 +00:00
Peter Steinberger
d6ad647f56 test(cli): share nodes ios fixture helpers 2026-02-22 07:44:56 +00:00
Peter Steinberger
fb73c0034e refactor(cli): extract fish completion line builders 2026-02-22 07:44:56 +00:00
Peter Steinberger
fc54e3eabd test(cli): dedupe cron shared test fixtures 2026-02-22 07:44:56 +00:00
Peter Steinberger
ae07d3fa0f test(cli): dedupe update restart fallback scenario setup 2026-02-22 07:44:56 +00:00
Peter Steinberger
266b3a356d refactor(cli): dedupe allowlist command wiring 2026-02-22 07:44:56 +00:00
Peter Steinberger
7c9e1bada0 refactor(cli): dedupe channel auth resolution flow 2026-02-22 07:44:56 +00:00
Peter Steinberger
c21792f5a0 refactor(cli): dedupe skills command report loading 2026-02-22 07:44:56 +00:00
Peter Steinberger
e729c992a7 test(cli): use lightweight clears in daemon lifecycle setup 2026-02-22 07:35:55 +00:00
Peter Steinberger
f28fcf243a test(cli): use lightweight clears in message helper and gateway chat setup 2026-02-22 07:35:54 +00:00
Peter Steinberger
c2600c5d75 test(cli): use lightweight clear for gateway discover beacon mock 2026-02-22 07:35:54 +00:00
Peter Steinberger
42f27ca39d test(cli): seed stable defaults while replacing setup resets 2026-02-22 07:35:54 +00:00
Peter Steinberger
391d32d461 test(cli): use lightweight clear for cron gateway mock 2026-02-22 07:35:54 +00:00
Peter Steinberger
cea5bcc4ac test(cli): use lightweight clear for memory manager mock 2026-02-22 07:35:54 +00:00
Peter Steinberger
0858512abd test(cli): use lightweight clear for logs gateway mock 2026-02-22 07:35:54 +00:00
Peter Steinberger
ab159a68c9 test(cli): use lightweight clears for browser extension runtime spies 2026-02-22 07:35:54 +00:00
Peter Steinberger
a038ad29f9 test(cli): keep pairing notify mock on clear with default resolve 2026-02-22 07:35:54 +00:00
Peter Steinberger
e36f857e46 test(cli): seed restart and doctor defaults with lightweight clears 2026-02-22 07:35:54 +00:00
Peter Steinberger
142e8cb383 test(cli): use lightweight clears for devices runtime/detail mocks 2026-02-22 07:35:54 +00:00
Peter Steinberger
67aef31187 test(cli): replace setup mock resets with clears in update suite 2026-02-22 07:35:54 +00:00
Vignesh Natarajan
73b4330d4c CLI/Config: keep explicitly unset keys removed 2026-02-21 21:08:04 -08:00
Vignesh Natarajan
8920e281cc Plugins: allowlist plugins when enabling from CLI 2026-02-21 19:37:26 -08:00
Peter Steinberger
548c227411 test: fix nodes camera case typing for CI 2026-02-22 00:38:36 +01:00
Peter Steinberger
8af676edb3 test: tighten web and cron cli timeout budgets 2026-02-21 23:36:24 +00:00
Peter Steinberger
4ab85cee0b test(cli): table-drive repeated argv and byte-size checks 2026-02-21 23:28:07 +00:00
Peter Steinberger
dd4e8f8098 test(cli): table-drive camera url failure cases 2026-02-21 23:28:07 +00:00
Gustavo Madeira Santana
0e1aa77928 chore(tsgo/format): fix CI errors 2026-02-21 17:51:56 -05:00
Peter Steinberger
861718e4dc test: group remaining suite cleanups 2026-02-21 21:44:57 +00:00
Peter Steinberger
a1ccd03da0 refactor(cli): share outbound send dependency mapping 2026-02-21 21:40:39 +00:00
Peter Steinberger
84686db850 refactor(cli): dedupe system gateway action handling 2026-02-21 21:40:39 +00:00
Peter Steinberger
a04cdc0390 refactor(cli): share update global command runner adapter 2026-02-21 21:40:39 +00:00
Peter Steinberger
944913fc98 refactor(cli): extract shared command-removal and timeout action helpers 2026-02-21 21:40:39 +00:00
Peter Steinberger
bb490a4b51 test(cli): expand agent registrar coverage 2026-02-21 21:40:39 +00:00
Peter Steinberger
b5a66e7b7e test(cli): add message registrar wiring coverage 2026-02-21 21:40:39 +00:00
Peter Steinberger
fecc29d2c8 test(cli): add onboard registrar coverage for daemon flag precedence 2026-02-21 21:40:39 +00:00
Peter Steinberger
3d2f4aea63 test(cli): add setup registrar coverage for wizard dispatch 2026-02-21 21:40:39 +00:00
Peter Steinberger
bd8b3cd15e test(cli): add configure registrar coverage 2026-02-21 21:40:39 +00:00
Peter Steinberger
580417685b test(cli): add build-program wiring coverage 2026-02-21 21:40:39 +00:00
Peter Steinberger
1c78ade1a1 test(cli): add program help coverage for root output and version fast-path 2026-02-21 21:40:39 +00:00