xingzhou
1755a9dc5b
fix(daemon): launch env wrapper through shell ( #89967 )
2026-07-03 13:56:37 -07:00
Jason (Json)
6f63140902
fix: avoid false macOS update failures during gateway shutdown ( #95886 )
...
Merged via squash.
Prepared head SHA: 400e87c937
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com >
Reviewed-by: @fuller-stack-dev
2026-06-23 01:53:38 -06:00
Andy Ye
ca2f4c0d67
Warn on generated wrapper overwrites and status diagnostics ( #90537 )
...
Merged via squash.
Prepared head SHA: c6b6589e6d
Co-authored-by: TurboTheTurtle <35905412+TurboTheTurtle@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-23 13:39:20 +08:00
Vincent Koc
7dd01d15c5
fix(windows): resolve cmd handoff path
2026-06-21 10:41:25 +02:00
Vincent Koc
900a834c60
refactor(daemon): remove stale launchd helpers
2026-06-19 08:45:50 +08:00
Ayaan Zaidi
c7b4c6bfc5
fix(gateway): handle missing launchd gui domains
2026-06-10 10:51:19 +05:30
FullerStackDev
40aad24e8a
fix(gateway): surface headless LaunchAgent state
2026-06-10 10:51:19 +05:30
Peter Steinberger
975d40d474
docs: document launchd daemon helpers
2026-06-04 13:54:21 -04:00
Bek
6997453098
fix: guard in-band macOS launchd stop
...
Summary:
- guard macOS launchd stop/restart against in-band service relaunch loops
- centralize current-service detection for launchd stop and restart handoff
- preserve external launchd label stop overrides while fixing inherited XPC restart handoff
Verification:
- node scripts/run-vitest.mjs src/daemon/launchd.test.ts src/daemon/launchd-current-service.test.ts src/daemon/launchd-restart-handoff.test.ts
- .agents/skills/autoreview/scripts/autoreview --mode local
- pnpm check:changed via Blacksmith Testbox through Crabbox: tbx_01kt3xkmfqhnzghfxdn62fa8qm
Closes #89174
Co-authored-by: Bek <bek.akhmedov@gmail.com >
2026-06-02 06:27:36 -04:00
Andy Ye
49e5091f18
fix(update): recognize manual-update launchd jobs ( #88764 )
...
* Recognize manual update launchd jobs
* fix(update): avoid stale launchd false positives
* fix(update): filter stale doctor launchd checks
* fix(update): narrow manual launchd updater labels
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-31 22:39:37 +01:00
Peter Steinberger
00d8d7ead0
refactor: extract normalization core package
...
Extract shared normalization/coercion helpers into private @openclaw/normalization-core workspace package while preserving existing plugin SDK helper subpaths.\n\nAlso keeps direct normalization-core imports internal, wires UI/build/loader resolution, and replaces the slow PR network CodeQL lane with a fast added-line boundary scan while retaining full CodeQL for scheduled/manual runs.\n\nVerification: local moved tests, plugin SDK boundary tests, extension loader tests, agents-support shard, UI build/test, build artifacts, lint, workflow guards, autoreview, and GitHub CI passed on PR head 963d893715 .
2026-05-31 01:33:00 +01:00
Peter Steinberger
de1dfab03e
refactor: move terminal core into package ( #88279 )
...
* refactor: move terminal core into package
* refactor: move terminal module files
* fix: clean terminal package CI followups
* test: update lint suppression allowlist
* fix: ship terminal core runtime aliases
2026-05-30 11:07:45 +02:00
Peter Steinberger
625b793635
fix(daemon): centralize tcp port bounds
2026-05-29 02:22:03 -04:00
Peter Steinberger
2c536a8626
docs: absorb documentation PR sweep
2026-05-23 10:23:34 +01:00
googlerest
ba86716999
fix(gateway): handle concurrent launchd bootstrap restart race ( #84722 )
...
* Handle concurrent launchd bootstrap restart
* docs(changelog): mention launchd bootstrap restart race fix
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-05-22 21:21:23 +08:00
Vincent Koc
a15797ad11
fix(update): preserve package service state during cutover ( #83026 )
...
* fix(update): preserve package service state during cutover
* docs(changelog): mention package service state cutover fix
2026-05-22 21:02:58 +08:00
Peter Steinberger
ca236d098d
fix: harden gateway launchd and configure sections
2026-05-17 03:44:05 +01:00
Peter Steinberger
d5b87672f8
fix(mac): disarm legacy update launchd jobs
2026-05-15 17:20:41 +01:00
Peter Steinberger
7acbb2260c
fix(mac): surface stale updater launchd jobs
2026-05-15 08:20:55 +01:00
Val Alexander
b405c6e640
fix(mac): verify launchd stop releases gateway port
...
Fixes #73132 .
Summary:
- Verify macOS LaunchAgent stop/restart port postconditions before reporting success.
- Resolve the effective gateway port from launchd args, persisted service environment, then caller env.
- Delay degraded fallback success output until the listener port is confirmed released.
Verification:
- node scripts/run-vitest.mjs src/daemon/launchd.test.ts src/cli/daemon-cli/lifecycle.test.ts src/cli/daemon-cli/lifecycle-core.test.ts src/cli/daemon-cli/restart-health.test.ts
- pnpm exec oxfmt --check --threads=1 src/daemon/launchd.ts src/daemon/launchd.test.ts CHANGELOG.md
- git diff --check
- Testbox tbx_01krjxf8vrbjwxv3xfdx4770xr: pnpm check:changed
2026-05-14 04:41:45 -05:00
Pavan Kumar Gondhi
17ceca86d6
Redact persisted secret-shaped payloads [AI] ( #79006 )
...
* fix: redact persisted secret-shaped payloads
* docs: add changelog entry for PR merge
2026-05-11 12:52:32 +05:30
Peter Steinberger
1f88cb2ce5
fix(gateway): persist macOS stop disable after bootout
...
Summary:
- carry forward #78412 's macOS LaunchAgent bootout-by-default stop behavior and repair guard
- fix the remaining `gateway stop --disable` tail when the service is already not loaded after bootout
- add lifecycle regressions, docs, and changelog
Verification:
- pnpm install
- pnpm test src/cli/daemon-cli/lifecycle-core.test.ts src/cli/daemon-cli/lifecycle.test.ts src/daemon/launchd.test.ts
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/cli/daemon-cli/lifecycle-core.ts src/cli/daemon-cli/lifecycle.ts src/cli/daemon-cli/lifecycle-core.test.ts src/cli/daemon-cli/lifecycle.test.ts docs/cli/gateway.md docs/gateway/index.md src/daemon/launchd.ts src/daemon/launchd.test.ts src/cli/daemon-cli/register-service-commands.ts src/cli/daemon-cli/types.ts src/daemon/service-types.ts
- git diff --check origin/main...HEAD
- pnpm build
- Parallels macOS Tahoe VM reproduce/fix proof in PR body
- PR checks green: Real behavior proof, auto-response, dispatch, label, label-issues
Co-authored-by: wdeveloper16 <25180374+wdeveloper16@users.noreply.github.com >
2026-05-08 05:35:21 +01:00
Peter Steinberger
1ace6a0d6a
fix: avoid launchd kickstart after fresh bootstrap
2026-05-03 21:49:53 +01:00
Peter Steinberger
b726214cf3
fix: avoid fresh launchd repair kickstart
2026-05-03 21:04:48 +01:00
Peter Steinberger
bdda14e170
refactor: trim daemon service manager exports
2026-05-02 02:51:02 +01:00
Peter Steinberger
a6141a5a41
fix: harden macOS gateway updates
2026-04-28 05:58:05 +01:00
Vincent Koc
60d4d5e1fa
fix(daemon): reconcile macOS LaunchAgent supervision state ( #72616 )
2026-04-26 22:39:15 -07:00
Vincent Koc
d7c173b694
fix(gateway): harden macOS launchd service startup
2026-04-26 17:18:49 -07:00
Vincent Koc
f5868ad1f8
fix(daemon): refresh launchd plist before restart bootstrap ( #71421 )
2026-04-24 22:59:21 -07:00
Peter Steinberger
ed463f6de0
chore: remove unused flow and daemon helpers
2026-04-18 21:16:19 +01:00
Peter Steinberger
28be124cc1
refactor: centralize restart log conventions
2026-04-18 19:08:35 +01:00
Peter Steinberger
f3c143f0cd
fix(daemon): honor launchd running state without pid
2026-04-10 22:19:37 +01:00
Peter Steinberger
1f80ebf643
docs(daemon): clarify launchd lifecycle behavior
2026-04-10 22:19:37 +01:00
Nimrod Gutman
eebad7a372
refactor(daemon): simplify launchd stop lifecycle
2026-04-10 22:19:37 +01:00
Nimrod Gutman
affffddf04
fix(daemon): keep launchd enable scoped to owned stops
2026-04-10 22:19:37 +01:00
Nimrod Gutman
c0ddcf6630
fix(daemon): confirm launchd stop state before success
2026-04-10 22:19:37 +01:00
Nimrod Gutman
23d9a100c4
fix(daemon): keep launchd stop persistent without reinstall
2026-04-10 22:19:37 +01:00
Peter Steinberger
bfff74fb11
refactor: dedupe core lowercase helpers
2026-04-07 20:58:01 +01:00
Peter Steinberger
48653c2031
fix: recover launchd restart and restore prompt-cache gate
2026-04-05 17:47:07 +09: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
5c9e4cd30a
refactor: clarify doctor repair flow
2026-03-23 22:12:56 -07:00
Peter Steinberger
5c120cb36c
refactor: make setup the primary wizard surface
2026-03-15 22:01:04 -07:00
Sally O'Malley
8db6fcca77
fix(gateway/cli): relax local backend self-pairing and harden launchd restarts ( #46290 )
...
Signed-off-by: sallyom <somalley@redhat.com >
2026-03-14 14:27:52 -04:00
Peter Steinberger
49cbcea429
refactor: share daemon launchd and path helpers
2026-03-14 00:30:14 +00:00
Peter Steinberger
80e7da92ce
fix: stabilize macos daemon onboarding
2026-03-13 13:47:09 +00:00
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
Robin Waslander
3c0fd3dffe
fix(daemon): replace bootout with kickstart -k for launchd restarts on macOS
...
On macOS, launchctl bootout permanently unloads the LaunchAgent plist.
Even with KeepAlive: true, launchd cannot respawn a service whose plist
has been removed from its registry. This left users with a dead gateway
requiring manual 'openclaw gateway install' to recover.
Affected trigger paths:
- openclaw gateway restart from an agent session (#43311 )
- SIGTERM on config reload (#43406 )
- Gateway self-restart via SIGTERM (#43035 )
- Hot reload on channel config change (#43049 )
Switch restartLaunchAgent() to launchctl kickstart -k, which force-kills
and restarts the service without unloading the plist. When the restart
originates from inside the launchd-managed process tree, delegate to a
new detached handoff helper (launchd-restart-handoff.ts) to avoid the
caller being killed mid-command. Self-restart paths in process-respawn.ts
now schedule the detached start-after-exit handoff before exiting instead
of relying on exit/KeepAlive timing.
Fixes #43311 , #43406 , #43035 , #43049
2026-03-12 01:16:49 +01:00
Peter Steinberger
6c579d7842
fix: stabilize launchd paths and appcast secret scan
2026-03-09 08:37:37 +00:00
Peter Steinberger
ce9e91fdfc
fix(launchd): harden macOS launchagent install permissions
2026-03-09 08:14:46 +00:00