Peter Steinberger
e1acb61317
refactor: expose SDK test helper subpaths
2026-04-28 03:28:17 +01:00
Peter Steinberger
dd0f5937d2
fix(doctor): avoid companion gateway service false positives
2026-04-27 23:30:29 +01:00
Peter Steinberger
67f1266fe8
fix: repair managed service env install migration
2026-04-27 10:13:01 +01:00
Vincent Koc
56ca4e2269
fix(daemon): handle sudo user-systemd gateway install failures
...
* fix(daemon): handle sudo user-systemd gateway install failures
* fix(daemon): harden sudo systemctl user scope
* fix(plugins): remove static type-cycle edges
* test(plugins): update bundle command config mock
2026-04-27 01:34:57 -07:00
Vincent Koc
b246c06fa5
fix(daemon): surface systemd user-bus hints during gateway install ( #72617 )
2026-04-26 23:30:54 -07:00
Peter Steinberger
e4e69c5bc6
fix: retry systemd unit activation after reload
2026-04-26 06:47:29 +01:00
Peter Steinberger
eca9f46824
fix: honor node systemd unit activation
2026-04-26 06:35:01 +01:00
Peter Steinberger
bcf17447f0
test: share execFile builtin mock
2026-04-20 19:20:46 +01:00
Peter Steinberger
29a48ab129
test: share systemd stage fixture
2026-04-20 18:32:11 +01:00
tmimmanuel
a2ab9e6a8e
fix: avoid inline dotenv secrets in systemd unit during service repair ( #66249 ) (thanks @tmimmanuel)
...
* fix(daemon): avoid inline dotenv secrets in systemd unit during service repair
* fix(daemon): sanitize systemd envfile and dedupe state-dir resolution
* fix(daemon): fail on multiline dotenv values for systemd envfile
* test(daemon): cover systemd envfile staging
* fix: keep systemd envfile overrides intact (#66249 ) (thanks @tmimmanuel)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-14 09:06:10 +05:30
Aftab
700efe6d16
fix(daemon): skip machine-scope fallback on permission-denied bus errors ( #62337 )
...
* fix(daemon): skip machine-scope fallback on permission-denied bus errors; fall back to --user when sudo machine scope fails
When systemctl --user fails with "Failed to connect to bus: Permission
denied", the machine-scope fallback is now skipped. A Permission denied
error means the bus socket exists but the process cannot connect to it,
so --machine user@ would hit the same wall.
Additionally, the sudo path in execSystemctlUser now tries machine scope
first but falls through to a direct --user attempt if it fails, instead
of returning the error immediately.
Fixes #61959
* fix(daemon): guard against double machine-scope call when sudo path already tried it
When SUDO_USER is set and machine scope fails with a non-permission-denied
bus error, execution falls through to the direct --user attempt. If that
also fails with a bus-unavailable message, shouldFallbackToMachineUserScope
returns true and machine scope is tried a second time -- a redundant exec
that was never reachable before this PR opened the fallthrough path.
Add machineScopeAlreadyTried flag and include it in the bottom-fallback
guard condition so the second call is skipped when machine scope was
already attempted in the sudo branch.
Add regression test asserting exactly 2 execFile calls in this scenario.
* fix: keep sudo systemctl scoped
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-08 01:22:31 +01:00
Peter Steinberger
5e9ae0bfd4
test(node): fix execFile mock typing
2026-04-03 19:53:38 +01:00
Peter Steinberger
323ad51eb8
fix(ci): align execFile mock typings
2026-04-03 19:31:41 +01:00
Peter Steinberger
45a6f769bb
test: trim core partial mocks
2026-04-03 19:28:19 +01:00
Peter Steinberger
3edfc494df
test: expand builtin mock helper usage
2026-04-03 18:53:34 +01:00
Peter Steinberger
e0580e6863
test: harden shared-worker runtime setup
2026-04-03 18:18:56 +01:00
Peter Steinberger
6b6ddcd2a6
test: speed up core runtime suites
2026-03-31 02:25:02 +01:00
Peter Steinberger
4fe59edd84
test: share systemd service test helpers
2026-03-14 00:30:14 +00:00
Peter Steinberger
2646739d23
refactor: centralize strict numeric parsing
2026-03-08 03:02:25 +00:00
Vincent Koc
556a74d259
Daemon: handle degraded systemd status checks ( #39325 )
...
* Daemon: handle degraded systemd status checks
* Changelog: note systemd status handling
* Update src/commands/status.service-summary.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-07 17:30:48 -08:00
Peter Steinberger
08597e817d
fix(ci): stabilize detect-secrets baseline
2026-03-08 01:25:15 +00:00
Peter Steinberger
a2cb80b9c4
fix(daemon): preserve envfile auth provenance
2026-03-08 01:13:28 +00:00
Vincent Koc
0d66834f94
Daemon: scope relaxed systemd probes to install flows
2026-03-07 16:45:18 -08:00
Vincent Koc
60441c8ced
Systemd: allowlist environment file fixtures
2026-03-07 16:43:21 -08:00
Vincent Koc
a56841b98c
Daemon: harden WSL2 systemctl install checks ( #39294 )
...
* Daemon: harden WSL2 systemctl install checks
* Changelog: note WSL2 daemon install hardening
* Daemon: tighten systemctl failure classification
2026-03-07 16:43:19 -08:00
Josh Avant
25252ab5ab
gateway: harden shared auth resolution across systemd, discord, and node host
2026-03-07 18:28:32 -06:00
Peter Steinberger
1fc11ea7d8
refactor(daemon): dedupe systemd restart test scaffolding
2026-03-07 17:58:30 +00:00
Ayaan Zaidi
26c9796736
fix: check managed systemd unit before is-enabled ( #38819 )
2026-03-07 17:11:07 +05:30
Vincent Koc
53b2479eed
Fix Linux daemon install checks when systemd user bus env is missing ( #34884 )
...
* daemon(systemd): fall back to machine user scope when user bus is missing
* test(systemd): cover machine scope fallback for user-bus errors
* test(systemd): reset execFile mock state across cases
* test(systemd): make machine-user fallback assertion portable
* fix(daemon): keep root sudo path on direct user scope
* test(systemd): cover sudo root user-scope behavior
* ci: use resolvable bun version in setup-node-env
2026-03-04 11:54:03 -08:00
Vincent Koc
2b98cb6d8b
Fix gateway restart false timeouts on Debian/systemd ( #34874 )
...
* daemon(systemd): target sudo caller user scope
* test(systemd): cover sudo user scope commands
* infra(ports): fall back to ss when lsof missing
* test(ports): verify ss fallback listener detection
* cli(gateway): use probe fallback for restart health
* test(gateway): cover restart-health probe fallback
2026-03-04 10:52:33 -08:00
a
4fb40497d4
fix(daemon): handle systemctl is-enabled exit 4 (not-found) on Ubuntu ( #33634 )
...
Merged via squash.
Prepared head SHA: 67dffc3ee2
Co-authored-by: Yuandiaodiaodiao <33371662+Yuandiaodiaodiao@users.noreply.github.com >
Co-authored-by: shakkernerd <165377636+shakkernerd@users.noreply.github.com >
Reviewed-by: @shakkernerd
2026-03-04 16:13:45 +00:00
Sahil Satralkar
cda119b052
fix: handle missing systemctl in containers ( #26089 ) ( #26699 )
...
* Daemon: handle missing systemctl in containers
* Daemon: harden missing-systemctl detection
* Daemon tests: cover systemctl spawn failure path
* Changelog: note container systemctl service-check fix
* Update CHANGELOG.md
* Daemon: fail closed on unknown systemctl is-enabled errors
* Daemon tests: cover is-enabled unknown-error path
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-03-01 21:48:06 -08:00
Peter Steinberger
50c0616278
test(daemon): use lightweight clears in systemd mocks
2026-02-22 08:01:16 +00:00
Peter Steinberger
da341bfbe1
test(daemon): dedupe service path cases and bootstrap failures
2026-02-19 10:17:48 +00:00
Peter Steinberger
9fd810e3a6
refactor(daemon): share systemd service action flow
2026-02-18 18:25:25 +00:00
Peter Steinberger
1ec0f3b81d
test: drop redundant daemon profile normalization wrappers
2026-02-16 06:36:15 +00:00
Peter Steinberger
6c3e7896c5
test: remove duplicate lowercase default profile daemon path cases
2026-02-16 06:34:05 +00:00
Peter Steinberger
cb998aa7f9
test: remove duplicate systemd exec-start split assertion
2026-02-16 06:27:19 +00:00
Peter Steinberger
84e0ee3c31
test: remove duplicate uppercase default profile case
2026-02-16 06:22:04 +00:00
Peter Steinberger
da2bdbef7e
test: remove duplicate systemd exec-start split case
2026-02-16 06:21:13 +00:00
Peter Steinberger
6b2f40652f
perf(test): consolidate daemon test entrypoints
2026-02-16 02:45:00 +00:00
cpojer
f06dd8df06
chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts.
2026-02-01 10:03:47 +09:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00
Benjamin Jesuiter
daf471c450
fix: unify daemon service label resolution with env
2026-01-15 22:10:27 +00:00
Peter Steinberger
61f5ed8bb7
fix: improve gateway diagnostics
2026-01-08 02:29:32 +01:00
Peter Steinberger
7c89ce93b5
fix(agent): align tools + preserve indentation
2026-01-05 17:55:20 +00:00
Peter Steinberger
ad6bec4612
fix: enable systemd lingering for gateway
2026-01-05 18:38:43 +01:00