Commit graph

193 commits

Author SHA1 Message Date
Vincent Koc
3059b36306 fix(config): split command flag helpers 2026-04-12 00:05:01 +01:00
Vincent Koc
74e7b8d47b fix(cycles): bulk extract leaf type surfaces 2026-04-11 13:26:50 +01:00
Peter Steinberger
1fb2e18f47
refactor: simplify cli conversions 2026-04-11 01:27:48 +01:00
Peter Steinberger
9e0d358695
refactor: simplify runtime conversions 2026-04-11 01:23:34 +01:00
Peter Steinberger
1a93b9cf03
refactor: simplify daemon status flags 2026-04-10 23:27:48 +01:00
Peter Steinberger
0ebeee8b0d
chore: enable consistent-return 2026-04-10 20:56:43 +01:00
WarrenJones
40c5edb5b1
fix: preserve safe gateway env vars on reinstall (#63136) (thanks @WarrenJones)
* fix(daemon): preserve safe env vars on gateway reinstall

Pass the existing service environment into gateway reinstall planning so safe custom variables survive LaunchAgent rewrites and existing PATH entries are merged instead of being silently dropped.

Made-with: Cursor

* fix(daemon): track managed env keys on reinstall

* fix: preserve safe gateway env vars on reinstall (#63136) (thanks @WarrenJones)

* fix: validate preserved PATH entries on reinstall (#63136) (thanks @WarrenJones)

---------

Co-authored-by: WarrenJones <8704779+WarrenJones@users.noreply.github.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-09 14:29:54 +05:30
Peter Steinberger
1a3f141215
refactor: dedupe cli lowercase helpers 2026-04-07 17:50:38 +01:00
Peter Steinberger
8d05bdda43
refactor: dedupe setup token readers 2026-04-07 06:07:13 +01:00
Peter Steinberger
9869941c06
refactor: dedupe auth session readers 2026-04-07 06:07:13 +01:00
Peter Steinberger
7f6277b6e5
refactor: dedupe infra cli wizard error formatting 2026-04-07 02:03:34 +01:00
Peter Steinberger
c9e4b86c7e fix: tighten container bind defaults for landing (#61818) (thanks @openperf) 2026-04-06 14:02:20 +01:00
openperf
c857e93735 fix(gateway): auto-bind to 0.0.0.0 inside container environments 2026-04-06 14:02:20 +01:00
Peter Steinberger
bb01e49192
refactor: share gateway auth and approval helpers 2026-04-06 07:41:08 +01:00
Peter Steinberger
5ad27fa25f
fix: allow slower Windows gateway restart health 2026-04-05 18:21:47 +01:00
Peter Steinberger
aa497e9c52
refactor: extract daemon launchd recovery helper 2026-04-05 09:16:44 +01:00
Peter Steinberger
fd968bfb2d fix: recover unloaded macOS launch agents (#43766) 2026-04-05 17:06:22 +09:00
Peter Steinberger
bc75968074
perf(cli): trim gateway status startup imports 2026-04-04 08:59:56 +01:00
tmimmanuel
0fef95b17d
fix: preserve Windows scheduled task restart/install behavior (#59335) (thanks @tmimmanuel)
* fix(daemon): preserve Windows Task Scheduler settings on reinstall and exit early on failed restart

* fix(daemon): add test coverage for Create/Change paths, fix early exit grace period

* fix(daemon): fix startup-fallback tests for new isRegisteredScheduledTask call

* fix(daemon): report early restart failure accurately

* fix: preserve Windows scheduled task restart/install behavior (#59335) (thanks @tmimmanuel)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-04 08:46:00 +05:30
Peter Steinberger
a715b83e67
test: trim auto-reply and cli partial mocks 2026-04-03 20:30:10 +01:00
Josh Avant
788f56f30f
Secrets: hard-fail unsupported SecretRef policy and fix gateway restart token drift (#58141)
* Secrets: enforce C2 SecretRef policy and drift resolution

* Tests: add gateway auth startup/reload SecretRef runtime coverage

* Docs: sync C2 SecretRef policy and coverage matrix

* Config: hard-fail parent SecretRef policy writes

* Secrets: centralize unsupported SecretRef policy metadata

* Daemon: test service-env precedence for token drift refs

* Config: keep per-ref dry-run resolvability errors

* Docs: clarify config-set parent-object policy checks

* Gateway: fix drift fallback and schema-key filtering

* Gateway: align drift fallback with credential planner

* changelog

Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com>

---------

Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com>
2026-03-31 02:37:31 -05:00
Peter Steinberger
3f1d6fe147
test: speed up cli and command suites 2026-03-31 02:25:02 +01:00
Peter Steinberger
fec51572a3
fix: stabilize gate and extension boundary checks 2026-03-30 02:37:36 +01:00
Peter Steinberger
168ab94eee
refactor(config): pin runtime snapshot and drop ttl cache 2026-03-29 22:57:31 +01:00
Peter Steinberger
855878b4f0
fix: stabilize serial test suite 2026-03-30 04:46:04 +09:00
Mariano
0afd73c975
fix(daemon): surface probe close reasons (#56282)
Merged via squash.

Prepared head SHA: c356980aa4
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-03-28 10:04:56 +01:00
heavenlost
3cbd4de95c
fix(gateway): restore loopback detail probes and identity fallback (#51087)
Merged via squash.

Prepared head SHA: f8a66ffde2
Co-authored-by: heavenlost <70937055+heavenlost@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-03-27 08:09:41 +01:00
Peter Steinberger
61d29efc04 test: eliminate remaining clone seams 2026-03-26 20:28:36 +00:00
Peter Steinberger
b7f2b0d7b9
refactor: align pairing replies, daemon hints, and feishu mention policy 2026-03-25 04:22:53 -07:00
Peter Steinberger
b9857a2b79 test: allow daemon start hints to grow on linux (#54058) (thanks @byungsker)
Some checks are pending
CI / build-smoke (push) Blocked by required conditions
CI / check-docs (push) Blocked by required conditions
CI / skills-python (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 9, 1, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 9, 2, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 9, 3, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 9, 4, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 9, 5, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 9, 6, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 9, 7, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 9, 8, test) (push) Blocked by required conditions
CI / checks-windows (pnpm test, node, 9, 9, test) (push) Blocked by required conditions
CI / android (./gradlew --no-daemon :app:assemblePlayDebug, build-play) (push) Blocked by required conditions
CI / android (./gradlew --no-daemon :app:assembleThirdPartyDebug, build-third-party) (push) Blocked by required conditions
CI / android (./gradlew --no-daemon :app:testPlayDebugUnitTest, test-play) (push) Blocked by required conditions
CI / android (./gradlew --no-daemon :app:testThirdPartyDebugUnitTest, test-third-party) (push) Blocked by required conditions
Docker Release / validate_manual_backfill (push) Waiting to run
Docker Release / approve_manual_backfill (push) Blocked by required conditions
Docker Release / build-amd64 (push) Blocked by required conditions
Docker Release / build-arm64 (push) Blocked by required conditions
Docker Release / create-manifest (push) Blocked by required conditions
Install Smoke / docs-scope (push) Waiting to run
Install Smoke / changed-smoke (push) Blocked by required conditions
Install Smoke / install-smoke (push) Blocked by required conditions
Plugin NPM Release / preview_plugins_npm (push) Waiting to run
Plugin NPM Release / preview_plugin_pack (push) Blocked by required conditions
Plugin NPM Release / publish_plugins_npm (push) Blocked by required conditions
Workflow Sanity / no-tabs (push) Waiting to run
Workflow Sanity / actionlint (push) Waiting to run
Workflow Sanity / generated-doc-baselines (push) Waiting to run
2026-03-24 23:09:04 -07:00
Peter Steinberger
258a214bcb
refactor: centralize daemon service start state flow 2026-03-24 22:49:34 -07:00
HCL
db35f30005 fix: validate config before restart + derive loaded from real state
Address Codex P1 + Greptile P2:
- Move config validation before the restart attempt so invalid config
  is caught in the stop→start path (not just the already-loaded path)
- Derive service.loaded from actual isLoaded() after restart instead
  of hardcoded true

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: HCL <chenglunhu@gmail.com>
2026-03-24 22:35:09 -07:00
HCL
d2248534d8 fix(daemon): bootstrap stopped service on gateway start
After `gateway stop` (which runs `launchctl bootout`), `gateway start`
checks `isLoaded` → false → prints "not loaded" hints and exits.
The service is never re-bootstrapped, so `start` cannot recover from
`stop` — only `gateway install` works.

Root cause: src/cli/daemon-cli/lifecycle-core.ts:208-217 — runServiceStart
calls handleServiceNotLoaded which only prints hints, never attempts
service.restart() (which already handles bootstrap via
bootstrapLaunchAgentOrThrow at launchd.ts:598).

Fix: when service is not loaded, attempt service.restart() first (which
handles re-bootstrapping on all platforms). If restart fails (e.g. plist
was deleted, not just booted out), fall back to the existing hints.

The restart path is already proven: restartLaunchAgent (launchd.ts:556)
handles "not loaded" via bootstrapLaunchAgentOrThrow. This fix routes
the start command through the same recovery path.

Closes #53878

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: HCL <chenglunhu@gmail.com>
2026-03-24 22:35:09 -07:00
Peter Steinberger
94425764a8
refactor: centralize systemd unavailable classification 2026-03-24 21:57:48 -07:00
Peter Steinberger
a4327ad544 refactor: dedupe tests and harden suite isolation 2026-03-24 19:16:19 +00:00
Sally O'Malley
91adc5e718
feat(cli): support targeting running containerized openclaw instances (#52651)
Signed-off-by: sallyom <somalley@redhat.com>
2026-03-24 10:17:17 -04:00
Peter Steinberger
5c9e4cd30a
refactor: clarify doctor repair flow 2026-03-23 22:12:56 -07:00
Peter Steinberger
ffb287e1de
fix: harden update dev switch and refresh changelog 2026-03-23 10:56:35 -07:00
Peter Steinberger
6b9915a106
refactor!: drop legacy CLAWDBOT env compatibility 2026-03-22 22:13:39 -07:00
Peter Steinberger
54213b587f refactor: reuse shared cli runtime test mocks 2026-03-23 01:53:28 +00:00
Peter Steinberger
2e6f2b0f07 test: centralize cli runtime capture helpers 2026-03-23 01:53:28 +00:00
Peter Steinberger
75835fc664
test: restore runtime-aware cli mocks 2026-03-22 18:35:37 -07:00
Peter Steinberger
c43bfcbbec
refactor: split best-effort network display discovery 2026-03-22 18:35:37 -07:00
Vincent Koc
e3c7a05cb5 fix(cli): remove duplicate test runtime keys 2026-03-22 17:52:05 -07:00
Peter Steinberger
976eefe373
test: align cli runtime mocks with output runtime 2026-03-22 17:32:20 -07:00
Peter Steinberger
aaa6068c08 test: stabilize json runtime captures (#52428) (thanks @karanuppal) 2026-03-22 16:56:19 -07:00
Peter Steinberger
4e531d382b fix(ci): restore cli runtime mocks and timeout exits 2026-03-22 23:43:58 +00:00
Peter Steinberger
4ee41cc6f3 refactor(cli): separate json payload output from logging 2026-03-22 23:19:17 +00:00
Codex
8c7d603f25 fix(gateway): keep status helpers resilient to netif failures 2026-03-22 16:09:43 -07:00
Peter Steinberger
9dea537bae fix(cli): clean daemon install imports 2026-03-21 23:14:40 +00:00