Robin Waslander
841ee24340
fix(daemon): address clanker review findings for kickstart restart
...
Bug 1 (high): replace fixed sleep 1 with caller-PID polling in both
kickstart and start-after-exit handoff modes. The helper now waits until
kill -0 $caller_pid fails before issuing launchctl kickstart -k.
Bug 2 (medium): gate enable+bootstrap fallback on isLaunchctlNotLoaded().
Only attempt re-registration when kickstart -k fails because the job is
absent; all other kickstart failures now re-throw the original error.
Follows up on 3c0fd3dffe .
Fixes #43311 , #43406 , #43035 , #43049
2026-03-12 02:16:24 +01: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
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
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
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
青雲
dc8423f2c0
fix: back up existing systemd unit before overwriting on update ( #24350 ) ( #24937 )
...
When `openclaw update` regenerates the systemd service file, any user
customizations to ExecStart (e.g. proxychains4 wrapper) are silently
lost. Now the existing unit file is copied to `.bak` before writing
the new one, so users can restore their customizations.
The backup path is printed in the install output so users are aware.
Co-authored-by: echoVic <AkiraVic@outlook.com>
2026-02-24 03:22:55 +00:00
Peter Steinberger
70900feaa7
refactor(daemon): share service arg types across backends
2026-02-19 10:04:19 +00:00
Peter Steinberger
2709c0ba51
refactor(daemon): dedupe install output line writing
2026-02-18 23:58:05 +00:00
Peter Steinberger
9fd810e3a6
refactor(daemon): share systemd service action flow
2026-02-18 18:25:25 +00:00
Peter Steinberger
b8b43175c5
style: align formatting with oxfmt 0.33
2026-02-18 01:34:35 +00:00
Peter Steinberger
31f9be126c
style: run oxfmt and fix gate failures
2026-02-18 01:29:02 +00:00
cpojer
d0cb8c19b2
chore: wtf.
2026-02-17 13:36:48 +09:00
Sebastian
ed11e93cf2
chore(format)
2026-02-16 23:20:16 -05:00
cpojer
90ef2d6bdf
chore: Update formatting.
2026-02-17 09:18:40 +09:00
Peter Steinberger
5ecc364d55
fix(daemon): drop unused formatGatewayServiceDescription import
2026-02-16 00:37:19 +00:00
Peter Steinberger
0dbc51aa55
refactor(daemon): share service description resolve
2026-02-16 00:36:43 +00:00
Peter Steinberger
f33031bc9e
refactor: dedupe daemon exec wrappers
2026-02-15 03:53:53 +00:00
Peter Steinberger
d31e0dee55
refactor: dedupe chat envelope + daemon output + skills UI
2026-02-15 03:41:11 +00:00
cpojer
baa1e95b9d
chore: Enable `no-unnecessary-template-expression` lint rule.
2026-02-02 15:37:05 +09: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
ae0b4c4990
feat: add exec host routing + node daemon
2026-01-18 07:46:00 +00:00
Peter Steinberger
f6e619f078
fix: normalize daemon unit paths
2026-01-16 03:47:26 +00:00
Peter Steinberger
db9be87d94
refactor: centralize daemon path resolution
2026-01-15 23:19:52 +00:00
Benjamin Jesuiter
daf471c450
fix: unify daemon service label resolution with env
2026-01-15 22:10:27 +00:00
Peter Steinberger
f1ac18933c
fix(cli): daemon output + health colors
2026-01-15 08:31:02 +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
bcbfb357be
refactor(src): split oversized modules
2026-01-14 01:17:56 +00:00
Peter Steinberger
5918def440
fix: honor gateway service override labels
2026-01-13 05:58:49 +00:00
Peter Steinberger
2d74119a08
test: cover auto-reply command gating
2026-01-11 02:27:16 +01:00
Peter Steinberger
e0bf86f06c
feat: improve gateway services and auto-reply commands
2026-01-11 02:27:16 +01:00
Peter Steinberger
63b0a16357
feat(cli): colorize gateway health + daemon output
2026-01-10 03:01:27 +01:00
Peter Steinberger
55e830b009
fix: harden onboarding for non-systemd environments
2026-01-09 22:17:09 +01:00
Ogulcan Celik
7bb0841f42
fix: prevent systemd hang on restart with podman sandboxes
...
Add KillMode=process to generated systemd unit file. Without this,
podman's conmon processes (which monitor sandbox containers) block
shutdown since they're children of the gateway process.
This preserves the desired behavior of keeping containers alive
across restarts while preventing systemd from waiting indefinitely.
2026-01-09 02:37:00 +01:00
Peter Steinberger
01641b34ea
feat(doctor): audit supervisor config + docs
2026-01-08 21:28:48 +01:00
Azade
3a8d8bc6a4
fix(daemon): align systemd unit with documentation
...
Align generated systemd service file with docs:
https://docs.clawd.bot/gateway#supervision-systemd-user-unit
Adds:
- After=network-online.target
- Wants=network-online.target
- RestartSec=5
2026-01-08 21:16:19 +01:00
Peter Steinberger
a676e16fbb
feat: expand daemon status diagnostics
2026-01-08 08:26:40 +01:00
Peter Steinberger
3d0156890c
refactor: split port diagnostics helpers
2026-01-08 02:42:43 +01:00
Peter Steinberger
61f5ed8bb7
fix: improve gateway diagnostics
2026-01-08 02:29:32 +01:00
Peter Steinberger
0398f684e7
fix: add gateway stop/restart commands
2026-01-06 03:25: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