Commit Graph

33473 Commits

Author SHA1 Message Date
Peter Steinberger
03cf97a33e ci: consolidate short test workers 2026-04-22 17:49:06 +01:00
Peter Steinberger
6370013bb7 ci: rebalance runtime config tests 2026-04-22 17:37:54 +01:00
Peter Steinberger
e8240a2628 ci: keep build smoke on blacksmith 2026-04-22 17:33:40 +01:00
Peter Steinberger
d8913d3901 ci: offload short linux checks 2026-04-22 17:30:54 +01:00
Peter Steinberger
8febc20e80 ci: reduce blacksmith test pressure 2026-04-22 17:26:00 +01:00
Ayaan Zaidi
486d0ec235 fix(gateway): preserve restart continuation chat type 2026-04-22 21:49:49 +05:30
Peter Steinberger
4ef1c06f9e ci: rebalance agentic node tests 2026-04-22 17:18:32 +01:00
Peter Steinberger
fd93b7f2ab perf(test): avoid bundled setup in auto-enable tests 2026-04-22 17:13:42 +01:00
Devin Robison
dd46783c34 fix(pairing): clear stale requests on device removal (#70239)
* fix(pairing): clear stale requests on device removal

* docs(changelog): note pairing stale request cleanup
2026-04-22 10:05:05 -06:00
Ayaan Zaidi
81e0022b4d refactor(gateway): unify startup task execution 2026-04-22 21:31:19 +05:30
Jason Perlow
53ad1a6066 fix(gateway): allow silent metadata-upgrade pairing for loopback CLI clients (#70224)
Loopback CLI clients (cli_container_local, shared_secret_loopback_local)
with valid shared-secret auth previously got disconnected with 1008
pairing required whenever the paired device record's platform or
deviceFamily string differed from what the CLI claimed at connect time.

PR #69431 added the shared_secret_loopback_local locality but deferred
the metadata-upgrade reason from the auto-approval allowlist. That
deferral created an unrecoverable handshake loop in practice: every CLI
connect triggers a fresh metadata-upgrade request, the Control UI has
no approval surface for this reason, and non-interactive shells cannot
complete pairing. This broke every non-interactive openclaw agent use
case when paired device keys are replicated across hosts or installs
are migrated across platforms.

Extend shouldAllowSilentLocalPairing to auto-approve metadata-upgrade
for cli_container_local and shared_secret_loopback_local localities
only. Browser / Control-UI / remote paths retain existing approval-
required behavior. Gateway still logs every metadata refresh via the
existing security audit line for operator review.

Add 4 unit tests covering the decision table for metadata-upgrade
across all four localities.

Related: #69397, #69431
2026-04-22 09:58:53 -06:00
Ayaan Zaidi
25e01c182c docs(changelog): note restart sentinel atomic writes 2026-04-22 20:44:10 +05:30
Ayaan Zaidi
d497de7697 fix(gateway): write restart sentinels atomically 2026-04-22 20:44:10 +05:30
Peter Steinberger
fb70d3ac67 ci: refresh ci concurrency group 2026-04-22 15:53:37 +01:00
Peter Steinberger
ed97cc7210 ci: skip aggregate fan-in after cancellation 2026-04-22 15:52:25 +01:00
Ayaan Zaidi
6f25befc4f docs(changelog): thank cron contributors 2026-04-22 20:18:15 +05:30
Ayaan Zaidi
7085687a16 docs(changelog): correct cron contributors 2026-04-22 20:16:53 +05:30
Ayaan Zaidi
34b0aac3b5 docs(changelog): fix cron attribution 2026-04-22 20:15:04 +05:30
Peter Steinberger
c73f7d6596 ci: move lightweight automation off blacksmith 2026-04-22 15:44:34 +01:00
VACInc
962b25b4a6 fix: preserve restart continuations after reboot (#63406) (thanks @VACInc)
* gateway: add restart continuation sentinel

* gateway: address restart continuation review

* gateway: handle restart continuation edge cases

* gateway: keep restart continuations on threaded delivery path

* fix(gateway): harden restart continuation routing

* test(gateway): cover restart continuation edge cases

* docs(agent): clarify restart continuation usage

* fix: preserve restart continuations after reboot (#63406) (thanks @VACInc)

---------

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-22 20:09:07 +05:30
Garming
a43be09dca fix(doctor): skip token generation for trusted-proxy and none auth modes (#59055)
runGatewayAuthHealth() only excluded 'password' and 'token' (with existing
token) from its needsToken check. When gateway.auth.mode was set to
'trusted-proxy' or 'none', doctor --fix would incorrectly:

1. Flag the config as 'missing a token'
2. Prompt to generate a gateway token
3. Overwrite auth.mode to 'token' in openclaw.json

This silently broke trusted-proxy deployments (common in SaaS/reverse-proxy
setups) by replacing the delegated auth mode with token auth.

The fix aligns runGatewayAuthHealth() with the existing
hasExplicitGatewayInstallAuthMode() in auth-install-policy.ts, which
already correctly returns false for 'password', 'none', and 'trusted-proxy'.

Co-authored-by: wujiaming88 <wujiaming88@example.com>
2026-04-22 22:38:27 +08:00
Peter Steinberger
38135ff6b4 ci: keep cpu-sensitive lanes larger 2026-04-22 15:08:47 +01:00
Peter Steinberger
ba9589256c build: refresh a2ui bundle hash 2026-04-22 15:07:23 +01:00
Peter Steinberger
cdf5f66298 ci: keep long matrix aggregates on blacksmith 2026-04-22 15:00:17 +01:00
Peter Steinberger
0f4ec84a2c fix: fail closed on plugin integrity drift 2026-04-22 14:59:52 +01:00
Peter Steinberger
dc2c3a4920 fix(gateway): harden WS pairing locality 2026-04-22 14:55:58 +01:00
Peter Steinberger
95e430f670 ci: run aggregate checks off blacksmith 2026-04-22 14:53:41 +01:00
Peter Steinberger
fd01a66e30 ci: downsize blacksmith runners 2026-04-22 14:39:20 +01:00
Peter Steinberger
d7ea136384 fix(agent): align pi session tool options 2026-04-22 14:39:20 +01:00
Peter Steinberger
fef830f4cf chore: update dependencies 2026-04-22 14:35:00 +01:00
Peter Steinberger
0d12422418 ci: consolidate test shard fanout 2026-04-22 14:23:43 +01:00
pashpashpash
cd41bd1359 fix(codex): apply GPT-5 prompt overlay (#70175) 2026-04-22 22:00:23 +09:00
cxy
608cfd36f5 fix(qqbot): add interaction intents (#70143)
* feat(qqbot): add intents interaction

* fix(qqbot): add interaction intents (#70143) (thanks @cxyhhhhh)

---------

Co-authored-by: sliverp <870080352@qq.com>
2026-04-22 20:03:33 +08:00
Ayaan Zaidi
4a16cf8008 fix: require cli auth epoch version (#70132) 2026-04-22 17:03:33 +05:30
Ayaan Zaidi
7fd8eeecf2 fix: update cli session changelog (#70132) 2026-04-22 17:03:33 +05:30
Ayaan Zaidi
9ad58ddc7e test(cli): cover oauth auth epoch continuity 2026-04-22 17:03:33 +05:30
Ayaan Zaidi
1ff461fe7b fix(cli): stabilize oauth session auth epochs 2026-04-22 17:03:33 +05:30
Nimrod Gutman
8778521167 fix(plugins): avoid doctor crash on legacy interactive state (#70135)
* fix(plugins): hydrate legacy interactive state

* fix(plugins): avoid doctor crash on legacy interactive state (#70135) (thanks @ngutman)
2026-04-22 14:17:09 +03:00
Nimrod Gutman
cfda375bb6 chore(pi): remove local pr prompts
Remove repo-local /landpr and /reviewpr prompt templates so maintainers use the externally maintained workflow instead.
These flows remain available from the external maintainers repo via globally installed Pi skills and prompts.
2026-04-22 13:38:47 +03:00
Ted Li
13fae1685f fix(config): accept truncateAfterCompaction (#68395)
Merged via squash.

Prepared head SHA: bf45148a75
Co-authored-by: MonkeyLeeT <6754057+MonkeyLeeT@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-04-22 18:31:03 +08:00
Ayaan Zaidi
16f016f07e fix: update cli session changelog (#70106) 2026-04-22 15:35:21 +05:30
Ayaan Zaidi
1e3e077370 fix(gateway): preserve cli session binding metadata 2026-04-22 15:35:21 +05:30
Ayaan Zaidi
7a2203be50 fix(cli): upgrade legacy mcp session reuse 2026-04-22 15:35:21 +05:30
Ayaan Zaidi
18869acf46 fix(cli): keep provider-owned sessions through implicit expiry 2026-04-22 15:35:21 +05:30
Sliverp
e36e0e8ad2 fix: lower the log level from info to debug (#70108) 2026-04-22 17:58:49 +08:00
Jacky
fbdf502e08 place permission under each branch of bot permissions for discord docs (#69218)
Merged via squash.

Prepared head SHA: dd6ae52d90
Co-authored-by: epicseven-cup <59263116+epicseven-cup@users.noreply.github.com>
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com>
Reviewed-by: @velvet-shark
2026-04-22 11:49:15 +02:00
pashpashpash
abf940db61 fix(codex): unchain app-server defaults (#70082) 2026-04-22 17:53:49 +09:00
Val Alexander
43a941b51c fix(pair): render /pair qr as media (#70047)
* fix(pair): render pair qr as media

* fix(gateway): preserve media reply threading

* fix(gateway): harden webchat media replies

* fix(plugin-sdk): keep trustedLocalMedia internal

* docs(changelog): note pair qr media fix

* Update CHANGELOG with recent fixes and enhancements

Updated changelog to include recent fixes and enhancements.
2026-04-22 03:31:09 -05:00
Ayaan Zaidi
81ca7bc40b fix: keep claude cli sessions warm (#69679)
* feat(cli): keep claude cli sessions warm

* test(cli): cover claude live session reuse

* fix(cli): harden claude live session reuse

* fix(cli): redact mcp session key logs

* fix(cli): bound claude live session turns

* fix(cli): reuse claude live sessions on resume

* refactor(cli): canonicalize claude live argv

* fix(cli): preserve claude live resume state

* fix(cli): close dead claude live sessions

* fix(cli): serialize claude live session creates

* fix(cli): count pending claude live sessions

* fix(cli): tighten claude live resume abort

* fix(cli): reject closed claude live sessions

* fix(cli): refresh claude live fingerprints

* fix(cli): stabilize MCP resume hash

* fix: preserve claude live inline resume (#69679)

---------

Co-authored-by: Frank Yang <frank.ekn@gmail.com>
2026-04-22 13:44:18 +05:30
Val Alexander
dab46a7e98 qa: harden parity gate execution (#70045) 2026-04-22 03:08:25 -05:00