Commit graph

1989 commits

Author SHA1 Message Date
ZC
25e51bba52
fix: parse PowerShell cron tools allow-list (#68858) (thanks @chen-zhang-cs-code)
* fix(cron): parse PowerShell tools allow list

* fix(cron): clarify tools allow-list help

* fix: parse PowerShell cron tools allow-list (#68858) (thanks @chen-zhang-cs-code)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-19 15:11:14 +05:30
Rubén Cuevas
6d427f8c2a
docs: clarify source control-ui dev/build flow (#68814) 2026-04-19 16:48:32 +10:00
Peter Steinberger
3fb87b127c
test: share exec policy rollback snapshots 2026-04-19 01:07:39 +01:00
Peter Steinberger
7ac3c2ca88
test: share logs cli write capture helpers 2026-04-19 00:52:13 +01:00
Peter Steinberger
1ce9c355ab
test: share lifecycle token drift fixtures 2026-04-19 00:50:12 +01:00
Peter Steinberger
7b7d69a31e
test: share restart health stopped-free fixture 2026-04-19 00:48:17 +01:00
Peter Steinberger
570fb5594c
refactor: share outbound legacy send keys 2026-04-18 23:59:33 +01:00
Peter Steinberger
045010bb78
chore: trim unused wrapper exports 2026-04-18 21:11:00 +01:00
Peter Steinberger
8ba5865383
chore: remove unused helpers 2026-04-18 20:53:35 +01:00
Peter Steinberger
1f1ff0567a
refactor(lint): reduce map spread patterns 2026-04-18 19:27:43 +01:00
Peter Steinberger
84aed919a9
fix: restore CI restart and provider compat 2026-04-18 19:24:08 +01:00
Peter Steinberger
438799e929
fix: log detached service restart attempts 2026-04-18 19:08:36 +01:00
Peter Steinberger
28be124cc1
refactor: centralize restart log conventions 2026-04-18 19:08:35 +01:00
Peter Steinberger
089e038dfe fix: harden macOS update restart helper (#68492) (thanks @hclsys) 2026-04-18 18:39:03 +01:00
HCL
4a870300dd fix(update-cli): capture macOS launchctl stderr to a log file instead of /dev/null
The macOS restart helper emitted by `openclaw update` (darwin branch of
`prepareRestartScript`) wrote the gateway restart script with every
`launchctl` stderr redirected to `/dev/null` and the final fallback
`kickstart` chained with `|| true`. When bootstrap/kickstart failed
(plist-on-disk race, schema rejection, stale job, bootout recovery
edge cases), the script exited 0, the updater declared success, and
the gateway silently stayed offline.

The reporter saw a ~25 minute production outage before noticing the
messages going unanswered across Telegram/Discord/Feishu.

Route stderr to `~/.openclaw/logs/update-restart.log` via `exec 2>>`,
drop `2>/dev/null` on every launchctl call, and remove the `|| true`
swallow on the fallback kickstart so a genuine failure exits non-zero
and leaves a durable audit trail. Log directory creation is best-effort
via `mkdir -p ... 2>/dev/null || true` since it normally already exists
from the gateway's own logging path. Self-cleanup of the script file
via `rm -f "$0"` is retained because the log, not the script, is the
useful artifact after the fact.

Adds a targeted regression test `captures macOS launchctl stderr to
~/.openclaw/logs/update-restart.log` alongside the existing darwin
restart-script test. The existing test's assertions about the
kickstart/enable/bootstrap fallback chain + self-cleanup all still pass.

Fixes #68486
2026-04-18 18:39:03 +01:00
Peter Steinberger
df525b90f2
chore(lint): enable unnecessary type parameter rule 2026-04-18 18:31:13 +01:00
Peter Steinberger
cdaa70facb
refactor: cache repeated lazy imports 2026-04-18 16:32:53 +01:00
Peter Steinberger
66385670e4
refactor: reduce unnecessary dynamic imports 2026-04-18 16:15:33 +01:00
Peter Steinberger
48aa076d12
perf: optimize remaining core tests 2026-04-17 16:05:10 +01:00
EE
1ce2596195
matrix: fix sessions_spawn --thread subagent session spawning (#67643)
Merged via squash.

Prepared head SHA: 1e5127e217
Co-authored-by: eejohnso-ops <238848106+eejohnso-ops@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-17 02:17:56 -04:00
Onur
900e291f31
CI: expand native release validation coverage (#67144)
* Actions: grant reusable release checks actions read

* Actions: use read-all for reusable release checks

* CI: add native cross-OS release checks

* CI: wire Discord smoke secrets for cross-OS checks

* CI: fix native cross-OS installer compatibility

* CI: skip empty pnpm cache saves in matrix jobs

* CI: honor workflow runner override envs

* CI: finish native cross-OS update checks

* CI: fix native cross-OS workflow regressions

* Installer: capture Windows npm stderr safely

* CI: harden cross-OS release checks

* CI: resolve reusable workflow harness ref

* CI: stabilize cross-OS dev update lanes

* CI: tighten release-check workflow semantics

* CI: repoint repaired git CLI on POSIX

* CI: repair native dev-update shell handoff

* CI: preserve real updater semantics

* CI: harden supported release-check refs

* CI: harden release-check refs and fresh mode

* CI: skip dev-update for immutable tag refs

* CI: repair fresh installer release checks

* CI: fix native release check installer lanes

* CI: install release checks from candidate artifacts

* CI: use Windows cmd shims in release checks

* Installer: run Windows npm shim via PowerShell

* CI: pin dev update verification to candidate sha

* CI: pin reusable harness and published installers

* CI: isolate Windows dev-update PATH validation

* CI: align Windows dev-update bootstrap validation

* CI: avoid Windows installer gateway flake

* CI: run cross-OS release checks via TypeScript

* CI: bootstrap tsx for release-check workflow

* CI: fix native release-check follow-ups

* CI: tighten dev-update release checks

* CI: peel annotated workflow refs

* CI: harden native release checks

* CI: fix release-check verifier drift

* CI: fix release-check workflow drift

* CI: fix release-check ref resolution

* CI: harden Windows release-check gateway startup

* CI: fix release-check fallback validation

* CI: harden cross-os release checks

* CI: pin dev-update release checks to candidate SHA

* CI: resolve remote dev target refs

* CI: detect cloned dev-update checkouts

* CI: harden Windows release-check launcher

* Windows: harden task fallback and runner overrides

* Release checks: preserve Windows PATH and baseline version reads

* CI: add release validation live lanes

* CI: expand live and e2e release coverage

* CI: add branch dispatch for live and e2e checks
2026-04-16 19:58:19 +02:00
Gustavo Madeira Santana
d5933af80b
QA: fix private runtime source loading (#67428)
Merged via squash.

Prepared head SHA: b8bf2b6be6
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 21:59:16 -04:00
Peter Steinberger
229eb72cf6
build: exclude private QA from npm package 2026-04-15 09:39:51 -07:00
Ayaan Zaidi
64f258fc49 fix(update): keep downgrade follow-ups in-process 2026-04-15 13:22:04 +05:30
Ayaan Zaidi
18d0af3a13 fix(update): verify packaged dist inventory 2026-04-15 13:22:04 +05:30
Mason Huang
3d2f51c0a4
CLI/plugins: stop forced-unsafe installs from falling back to hook packs (#58909)
Merged via squash.

Prepared head SHA: 7cf146efb6
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-04-15 13:23:17 +08:00
Josh Avant
1769fb2aa1
fix(secrets): align SecretRef inspect/strict behavior across preload/runtime paths (#66818)
* Config: add inspect/strict SecretRef string resolver

* CLI: pass resolved/source config snapshots to plugin preload

* Slack: keep HTTP route registration config-only

* Providers: normalize SecretRef handling for auth and web tools

* Secrets: add Exa web search target to registry and docs

* Telegram: resolve env SecretRef tokens at runtime

* Agents: resolve custom provider env SecretRef ids

* Providers: fail closed on blocked SecretRef fallback

* Telegram: enforce env SecretRef policy for runtime token refs

* Status/Providers/Telegram: tighten SecretRef preload and fallback handling

* Providers: enforce env SecretRef policy checks in fallback auth paths

* fix: add SecretRef lifecycle changelog entry (#66818) (thanks @joshavant)
2026-04-14 17:59:28 -05:00
Vincent Koc
e31dfa9897 perf(cli): avoid runtime config loads in gateway discover 2026-04-14 17:47:38 +01:00
Vincent Koc
4c090accd3 perf(cli): avoid eager gateway call config loads 2026-04-14 17:42:16 +01:00
Vincent Koc
604a5e07d0 perf(cli): lazy-resolve daemon stop fallback port 2026-04-14 17:39:21 +01:00
Vincent Koc
f8610da4c5 perf(cli): narrow daemon and gateway cold paths 2026-04-14 17:35:26 +01:00
Vincent Koc
f95c706298 perf(cli): lazy-load daemon service runners 2026-04-14 16:43:48 +01:00
Vincent Koc
4e46488d1b perf(cli): lazy-load gateway registration deps 2026-04-14 16:37:48 +01:00
Neerav Makwana
0381852c26
fix: harden approvals get timeout handling (#66239) (thanks @neeravmakwana)
* fix(cli): harden approvals get timeout handling

* fix(cli): sanitize approvals timeout notes

* fix(cli): distill approvals timeout note

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-14 11:29:59 +05:30
Peter Steinberger
d4f556a052
fix: align latest main type drift 2026-04-13 20:49:39 -07:00
Vincent Koc
792653df15 fix(ci): clear residual tsgo blockers 2026-04-13 22:37:25 +01:00
Vincent Koc
ac00ba1943 perf(commands): lazy-load agent secret resolution 2026-04-13 20:56:03 +01:00
Vincent Koc
25a2ea4480 perf(config): scope dry-run legacy validation 2026-04-13 20:40:52 +01:00
Vincent Koc
587e72df4d perf(config): use direct writes for gateway token persistence 2026-04-13 19:38:56 +01:00
Vincent Koc
120c384f00 perf(config): reuse prepared snapshots for daemon token writes 2026-04-13 19:32:28 +01:00
Vincent Koc
55a3c8ea07 perf(daemon): import install config helpers directly 2026-04-13 19:22:52 +01:00
Vincent Koc
75b4c059b8 perf(daemon): slim gateway install token imports 2026-04-13 19:21:01 +01:00
Vincent Koc
114ff23f2a perf(config): skip shell env fallback for explicit empty vars 2026-04-13 19:09:11 +01:00
Mariano
8dbe1b4f5a
fix(gateway): harden service entrypoint resolution (#65984)
Merged via squash.

Prepared head SHA: 31cbc3349c
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-13 17:14:29 +02:00
Vincent Koc
3792a39fd6 perf(cli): skip redundant schema passes for structured dry runs 2026-04-13 15:49:24 +01:00
Vincent Koc
9763d446d9 fix(qr): lazy load terminal ascii renderer 2026-04-13 15:12:01 +01:00
scoootscooob
94ef2f1b0d
CLI: detect env-backed audio providers (#65491)
* CLI: detect env-backed audio providers

* fix(cli): trust audio provider env detection

* Secrets: keep default provider env lookups stable

* Plugins: harden env-backed auth defaults

* Plugins: tighten trusted env var lookups

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-12 14:04:44 -07:00
Peter Steinberger
e4841d767d
test: stabilize loaded full-suite checks 2026-04-12 11:52:56 -07:00
Peter Steinberger
67af6f0baf
fix: restore main CI checks 2026-04-12 11:28:43 -07:00
Vincent Koc
d4fb7d893d fix(ci): repair main tsgo regressions 2026-04-12 19:14:00 +01:00