Commit Graph

51471 Commits

Author SHA1 Message Date
Peter Steinberger
fc47c1f55e fix(cli): honor agent for model auth logout (#85326) 2026-05-22 13:46:07 +01:00
Tung, Hsiao-Yu
4a9138556e fix(gateway): eager-load lifecycle runtime to survive in-place upgrades (#84890)
* fix(gateway): eager-load lifecycle runtime to survive in-place upgrades

After a package-swap update (e.g. via update.run), dist/ chunk hashes
rotate while the gateway is still running. The SIGUSR1 listener's first
dynamic import of the lifecycle runtime module then throws
ERR_MODULE_NOT_FOUND inside its async IIFE, silently rejects, and leaves
restart.ts's emittedRestartToken permanently unconsumed. From that point
every scheduleGatewaySigusr1Restart() — including the one update.run
schedules for itself — returns { coalesced: true } without scheduling
anything, and the gateway never restarts until manually kickstarted.

Fix:

1. Eagerly resolve the lifecycle runtime module as the first statement
   of runGatewayLoop, before any signal listener is installed. lifecycle.runtime
   is a 36-line re-export hub, so loading it once pulls the entire restart
   / respawn / queue / sentinel / handoff graph into memory, immune to
   later disk rotation. If the module is missing at startup, fail fast
   with a loud error so the supervisor can recover instead of running
   half-broken.

2. Defense in depth: catch SIGUSR1 IIFE rejections and call
   markGatewaySigusr1RestartHandled() via the eagerly captured reference,
   so a transient listener failure doesn't permanently stick the restart
   token.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* docs(changelog): mention lifecycle restart eager load

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-05-22 20:44:05 +08:00
Peter Steinberger
111bad1065 fix(doctor): point codex asset warning at migrate plan (#85324) 2026-05-22 13:40:15 +01:00
Jason O'Neal
1bafc23ae3 fix(update): harden managed handoff cwd (#83875)
* fix(update): harden managed handoff cwd

* docs(changelog): mention managed update handoff cwd fix

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-05-22 20:35:17 +08:00
Peter Steinberger
e43282e701 docs(release): prepare 2026.5.21 notes 2026-05-22 13:30:19 +01:00
Peter Steinberger
f4bdfd46a9 ci(crabbox): harden docker hydration 2026-05-22 13:28:53 +01:00
Mason Huang
57db041365 refactor(crabbox): parse provider list from binary help instead of hardcoding (#85302)
Summary:
- The branch replaces the Crabbox wrapper's hardcoded provider allow-list with help-output parsing, preserves current aliases and a known help omission, adds wrapper tests, and updates the changelog.
- Reproducibility: yes. source-reproducible: current main only rejects selected providers that are already in  ... rovider names can bypass wrapper validation. I did not run the PR branch because this review was read-only.

Automerge notes:
- PR branch already contained follow-up commit before automerge: refactor(crabbox): parse provider list from binary help instead of ha…
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8530…

Validation:
- ClawSweeper review passed for head c99388d92a.
- Required merge gates passed before the squash merge.

Prepared head SHA: c99388d92a
Review: https://github.com/openclaw/openclaw/pull/85302#issuecomment-4517730136

Co-authored-by: masonxhuang <masonxhuang@tencent.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
2026-05-22 12:25:15 +00:00
Vincent Koc
84329182a7 test(plugins): keep rpc source walk on source call gateway 2026-05-22 14:13:21 +02:00
Vincent Koc
01e7f64629 test(plugins): run kitchen sink rpc lane without tsx 2026-05-22 14:13:21 +02:00
Vincent Koc
6f6da5f5ba test(plugins): add kitchen sink rpc docker lane 2026-05-22 14:13:21 +02:00
Vincent Koc
2b396131e4 test(qa-lab): add bus tool trace scenario 2026-05-22 20:12:49 +08:00
Peter Steinberger
ebfb834dcd fix(cron): classify network retry errors (#85344) 2026-05-22 13:07:40 +01:00
Vincent Koc
3551e98433 fix(installer): bootstrap portable Windows Node 2026-05-22 19:59:45 +08:00
Alex Knight
1fdc73ae4b fix(ui): move chat session search into picker (#85303)
* fix(ui): move chat session search into picker

* fix(ui): smooth chat picker search controls

* test(ui): add mocked chat picker e2e harness
2026-05-22 21:57:00 +10:00
Peter Steinberger
84af5e6e76 fix: honor shrinkwrap when bundling plugin deps 2026-05-22 12:56:10 +01:00
Peter Steinberger
9914e25638 fix: opt acpx out of bundled runtime deps 2026-05-22 12:56:10 +01:00
Peter Steinberger
8b0537c409 test: refresh shrinkwrap after rebase 2026-05-22 12:56:10 +01:00
Peter Steinberger
fcecbd8655 fix: opt codex out of bundled runtime deps 2026-05-22 12:56:10 +01:00
Peter Steinberger
249f79be42 fix: make bundled plugin packages portable 2026-05-22 12:56:10 +01:00
Peter Steinberger
86faf654db fix: keep bundled plugin peers nested 2026-05-22 12:56:10 +01:00
Peter Steinberger
976da39038 fix: publish explicit plugin bundled dependencies 2026-05-22 12:56:10 +01:00
Peter Steinberger
3784270670 chore: refresh shrinkwrap metadata 2026-05-22 12:56:10 +01:00
Peter Steinberger
de022bb69d feat: bundle plugin npm dependencies 2026-05-22 12:56:10 +01:00
Vincent Koc
0d28040092 fix: honor overrides in npm shrinkwrap generation 2026-05-22 12:56:10 +01:00
Vincent Koc
bfa5b39648 fix: cover plugin package locks in dependency review 2026-05-22 12:56:10 +01:00
Vincent Koc
a1b05aae7c test: update shrinkwrap packaging expectations 2026-05-22 12:56:10 +01:00
Vincent Koc
82f69a269b fix: include plugin shrinkwraps in dependency reports 2026-05-22 12:56:10 +01:00
Vincent Koc
b2dc4492f0 chore: refresh shrinkwrap for Testbox npm 2026-05-22 12:56:10 +01:00
Peter Steinberger
b6c8807ca0 chore: add shrinkwrap to plugin npm packages 2026-05-22 12:56:10 +01:00
Peter Steinberger
c56067e34f chore: harden npm shrinkwrap release path 2026-05-22 12:56:10 +01:00
Eva
56308a7144 fix: limit subagent bootstrap defaults
Limit sub-agent bootstrap context to AGENTS.md and TOOLS.md without adding a new config surface. Preserve the existing cron minimal bootstrap behavior.

Co-authored-by: Eva (agent) <eva+agent-78055@100yen.org>
2026-05-22 12:55:42 +01:00
Peter Steinberger
ab1fedb63f feat: update autoreview engine coverage 2026-05-22 12:38:15 +01:00
Peter Steinberger
89c59a89fb fix(agents): preserve OpenAI transport error metadata 2026-05-22 12:38:06 +01:00
Neerav Makwana
0a95e53602 fix(messages): strip unsupported citation markers (#85204) (thanks @neeravmakwana)
Co-authored-by: Neerav Makwana <261249544+neeravmakwana@users.noreply.github.com>
2026-05-22 12:33:03 +01:00
Vincent Koc
fda0baf98d test(qa-lab): report live transport coverage lanes 2026-05-22 19:31:32 +08:00
Chunyue Wang
136c927140 fix(gateway): close child ACP sessions on parent reset/delete
Close child ACP runtimes during parent reset/delete through a shared direct-child session lookup, covering spawnedBy and parentSessionKey lineage across combined agent stores.

Also adds focused regression coverage for direct child discovery, non-ACP/unrelated negatives, reset cleanup, delete cleanup, cross-store children, and concurrent stuck-child cleanup.

Co-authored-by: openperf <16864032@qq.com>
2026-05-22 12:29:24 +01:00
clawsweeper[bot]
77a1b7625d fix: preserve Google Gemini 3 cron thinking (#85300)
Summary:
- The branch adds a Google provider thinking-policy resolver and opt-in profile flag, updates shared thinking validation and cron/proof-policy tests, and adjusts ClawSweeper proof parsing.
- Reproducibility: yes. source-reproducible: current main applies the generic off-only profile before provider ... figured thinking through that resolver. I did not execute a live systemd cron run in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix: preserve Google Gemini 3 cron thinking

Validation:
- ClawSweeper review passed for head a6cd2e826e.
- Required merge gates passed before the squash merge.

Prepared head SHA: a6cd2e826e
Review: https://github.com/openclaw/openclaw/pull/85300#issuecomment-4517662575

Co-authored-by: Neerav Makwana <261249544+neeravmakwana@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-22 11:21:57 +00:00
Peter Steinberger
85e468d275 docs(skills): exclude SDK boundary bug sweeps 2026-05-22 12:17:02 +01:00
Peter Steinberger
c9a0f03dd7 feat(plugin-sdk): add generic channel poll sender (#85299)
* feat(plugin-sdk): add generic channel poll sender

* test(channels): follow durable capability list

* test(channels): update poll capability expectations

* fix(channels): normalize poll receipt parts
2026-05-22 12:16:07 +01:00
Peter Steinberger
0ddf51cf71 fix(agents): preserve OpenAI reasoning token usage 2026-05-22 12:14:12 +01:00
Vincent Koc
1a8625529e test(e2e): harden plugin smoke cleanup 2026-05-22 13:06:03 +02:00
Peter Steinberger
6b1c8687b5 fix(plugins): resolve native plugin sdk aliases (#85298)
* fix(plugins): resolve native plugin sdk aliases

* fix(plugins): satisfy native resolver lint

* fix(plugins): keep native sdk aliases on js artifacts
2026-05-22 12:05:37 +01:00
Vincent Koc
03f61cd1b5 fix(update): keep service logs out of json output 2026-05-22 12:46:00 +02:00
Vincent Koc
ff79299d68 fix(agent): retry transient gateway handshake closes 2026-05-22 12:24:50 +02:00
Krzysztof Probola
8523e0930e fix(codex): keep interrupted turns visible-answer eligible (#84494)
* fix(codex): keep interrupted turns visible-answer eligible

* docs(changelog): note codex interrupted recovery

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-05-22 18:22:20 +08:00
Vincent Koc
6bd430ee35 test(agents): narrow bundle mcp e2e setup 2026-05-22 11:39:24 +02:00
Alex Knight
e2f82d4d30 test: add mocked Control UI E2E tests and playwright for local verification and development (#85278)
* test: add control ui mocked e2e
2026-05-22 19:36:38 +10:00
Peter Steinberger
70dd31506b fix: land code-mode structured worker errors (#83444) (thanks @Kaspre) 2026-05-22 10:36:18 +01:00
Kaspre
edab653178 fix(code-mode): return structured worker error codes 2026-05-22 10:36:18 +01:00
Peter Steinberger
0d8c9ca914 fix: preserve route-bound direct thread events 2026-05-22 10:32:12 +01:00