Commit Graph

18416 Commits

Author SHA1 Message Date
Peter Steinberger
9714495797 test: keep plugin runtime symlink assertion on symlink path 2026-04-10 10:28:53 +01:00
Peter Steinberger
6c82a91d3d refactor: tighten device pairing approval types 2026-04-10 10:22:00 +01:00
Peter Steinberger
ae4817e0e0 test: align matrix acp delivery expectation 2026-04-10 10:15:51 +01:00
Peter Steinberger
bbede259b7 test(delivery): keep telegram parent channel target expectation 2026-04-10 10:12:07 +01:00
Peter Steinberger
feb3c7f823 fix(test): repair rebased gate failures 2026-04-10 10:12:07 +01:00
Peter Steinberger
c2e2b87f28 fix(acp): classify gateway chat error kinds 2026-04-10 10:12:07 +01:00
Mingkuan
005b629b6d fix(qqbot): allow extension fields in channel config schema (#64075)
* fix(qqbot): allow extension fields in channel config schema

Use passthrough() on QQBotConfigSchema, QQBotAccountSchema, and
QQBotStreamingSchema so third-party builds that share the qqbot
channel id can add custom fields without triggering
"must NOT have additional properties" validation errors.

tts and stt sub-schemas remain strict to preserve typo detection
for those sensitive fields.

* Update extensions/qqbot/openclaw.plugin.json

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* chore(qqbot): update changelog for config schema passthrough

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-04-10 17:01:00 +08:00
Peter Steinberger
ec5ef68b0c test: fix latest fast-lane boundaries 2026-04-10 09:53:17 +01:00
Peter Steinberger
b660493e54 fix: harden device pairing scope approval 2026-04-10 09:48:17 +01:00
Peter Steinberger
a5de4a1a50 test: align telegram delivery context expectation 2026-04-10 09:47:57 +01:00
Peter Steinberger
67ede66b3e test: refresh latest main expectations 2026-04-10 09:47:57 +01:00
Peter Steinberger
56cf1bd40c test: move image generation live sweep out of src 2026-04-10 09:47:57 +01:00
Peter Steinberger
1d310e2ab0 fix: restore main verification gates 2026-04-10 09:34:50 +01:00
Ayaan Zaidi
004781955c fix: restore model-scoped deprecation fallback matching 2026-04-10 13:57:00 +05:30
Neerav Makwana
75deed54f3 Agents: allow cooldown probe for timeout failover reason 2026-04-10 13:52:37 +05:30
Ted Li
d78d91f8c2 fix: continue fallback after OpenRouter no-endpoints 404 (#61472) (thanks @MonkeyLeeT)
* Fix OpenRouter no-endpoints fallback classification

* Restore bare model-not-found matcher coverage

* Preserve model does-not-exist fallback classification

* Narrow does-not-exist model-not-found matching

* Keep runtime model-not-found matcher strict

* style(agents): drop model matcher comment

* fix: continue fallback after OpenRouter no-endpoints 404 (#61472) (thanks @MonkeyLeeT)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-10 13:46:14 +05:30
Alex Alaniz
6bd64ca4a7 fix: stop marking Claude CLI runs as host-managed
Stop injecting CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST into Claude CLI runs and strip inherited/backend overrides before spawn.\n\nAlso repairs the Zalo setup allowlist prompt wiring needed by the current main check gate.\n\nThanks @Alex-Alaniz.
2026-04-10 09:14:15 +01:00
Neerav Makwana
0002982e52 fix: reset TUI footer activity on session switch (#63988) (thanks @neeravmakwana)
* TUI: reset activity to idle on session switch

* chore: remove redundant tui session comment

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-10 13:32:01 +05:30
Vincent Koc
dfdc281f55 fix(cycles): split small runtime seams 2026-04-10 09:00:19 +01:00
sudie-codes
828ebd43d4 feat(msteams): handle signin/tokenExchange and signin/verifyState for SSO (#60956) (#64089)
* feat(msteams): handle signin/tokenExchange and signin/verifyState for SSO (#60956)

* test(msteams): mock conversationStore.get in thread session fixture

---------

Co-authored-by: Brad Groux <bradgroux@users.noreply.github.com>
2026-04-10 02:38:01 -05:00
Frank Yang
360955a7c8 fix: preserve commands.list metadata (#64147)
Merged via squash.

Reviewed-by: @frankekn
2026-04-10 15:35:05 +08:00
Peter Steinberger
3218f8f4e5 chore: align release metadata for 2026.4.10 2026-04-10 08:19:47 +01:00
Vincent Koc
f654b5a424 test(boundary): remove last direct bundled plugin imports 2026-04-10 08:19:20 +01:00
Vincent Koc
78d2e9e2a8 fix(ci): repair main type drift 2026-04-10 08:13:02 +01:00
Peter Steinberger
7e7a8d6b0f fix(claude-cli): harden gateway auth env 2026-04-10 08:10:46 +01:00
Peter Steinberger
7e2a1db53b fix: recover silent LLM idle timeouts 2026-04-10 08:09:17 +01:00
Vincent Koc
3cea11d3b6 test(boundary): route helper imports through bundled plugin surfaces 2026-04-10 08:05:56 +01:00
samzong
0f0a192ecb [Fix] agents.create RPC: support model param, write identity to config (#61577)
* fix(gateway): support model on agents.create, write identity to config

Signed-off-by: samzong <samzong.lu@gmail.com>

* fix(gateway): sync agent identity file writes

* fix(gateway): preserve richer identity markdown

* fix(gateway): preserve destination identity on workspace moves

* fix(gateway): preserve source identity on workspace moves

---------

Signed-off-by: samzong <samzong.lu@gmail.com>
Co-authored-by: Frank Yang <frank.ekn@gmail.com>
2026-04-10 14:36:22 +08:00
samzong
723dec0432 [Feat] Gateway: add commands.list RPC method (#62656)
Merged via squash.

Co-authored-by: samzong <samzong.lu@gmail.com>
Co-authored-by: Frank Yang <frank.ekn@gmail.com>
Reviewed-by: @frankekn
2026-04-10 14:28:47 +08:00
Tak Hoffman
4bf94aa0d6 feat: add local exec-policy CLI (#64050)
* feat: add local exec-policy CLI

* fix: harden exec-policy CLI output

* fix: harden exec approvals writes

* fix: tighten local exec-policy sync

* docs: document exec-policy CLI

* fix: harden exec-policy rollback and approvals path checks

* fix: reject exec-policy sync when host remains node

* fix: validate approvals path before mkdir

* fix: guard exec-policy rollback against newer approvals writes

* fix: restore exec approvals via hardened rollback path

* fix: guard exec-policy config writes with base hash

* docs: add exec-policy changelog entry

* fix: clarify exec-policy show for node host

* fix: strip stale exec-policy decisions
2026-04-10 01:16:03 -05:00
Pavan Kumar Gondhi
2d126fc623 fix(infra): expand host env security policy denylist [AI] (#63277)
* fix: address issue

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: close host env inherited sanitization gap

* fix: enforce host env reported baseline coverage

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* docs: add changelog entry for PR merge
2026-04-10 11:36:39 +05:30
Qasim Soomro
71617ef2f0 fix: allow private network provider request opt-in (#63671)
* feat(models): allow private network via models.providers.*.request
Add optional request.allowPrivateNetwork for operator-controlled self-hosted
OpenAI-compatible bases (LAN/overlay/split DNS). Plumbs the flag into
resolveProviderRequestPolicyConfig for streaming provider HTTP and OpenAI
responses WebSocket so SSRF policy can allow private-resolved model URLs
when explicitly enabled.
Updates zod schema, config help/labels, and unit tests for sanitize/merge.

* agents thread provider request into websocket stream

* fix(config): scope allowPrivateNetwork to model requests

* fix(agents): refresh websocket manager on request changes

* fix(agents): scope runtime private-network overrides to models

* fix: allow private network provider request opt-in (#63671) (thanks @qas)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-10 11:11:03 +05:30
Sean
c61be87b0e fix: prevent sandbox browser CDP startup hangs (#62873) (thanks @Syysean)
* refactor(sandbox): remove socat proxy and fix chromium keyring deadlock

* fix(sandbox): address review feedback by reinstating cdp isolation and stability flags

* fix(sandbox): increase entrypoint cdp timeout to 20s to honor autoStartTimeoutMs

* fix(sandbox): align implementation with PR description (keyring bypass, fail-fast, watchdog)

* fix

* fix(sandbox): remove bash CDP watchdog to eliminate dual-timeout race

* fix(sandbox): apply final fail-fast and lifecycle bindings

* fix(sandbox): restore noVNC and CDP port offset

* fix(sandbox): add max-time to curl to prevent HTTP hang

* fix(sandbox): align timeout with host and restore env flags

* fix(sandbox): pass auto-start timeout to container and restore wait -n

* fix(sandbox): update hash input type to include autoStartTimeoutMs

* fix(sandbox): implement production-grade lifecycle and timeout management

- Add strict integer validation for port and timeout environment variables
- Implement robust two-stage trap cleanup (SIGTERM with SIGKILL fallback) to prevent zombie processes
- Refactor CDP readiness probe to use absolute millisecond-precision deadlines
- Add early fail-fast detection if Chromium crashes during the startup phase
- Track all daemon PIDs explicitly for reliable teardown via wait -n

* fix(sandbox): allow renderer process limit to be 0 for chromium default

* fix(sandbox): add autoStartTimeoutMs to SandboxBrowserHashInput type

* test(sandbox): cover browser timeout cleanup

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-10 10:26:38 +05:30
Ayaan Zaidi
c003e982a2 fix(process): drain Windows stdio before exit fallback settle 2026-04-10 10:09:25 +05:30
Ayaan Zaidi
063049c0d4 fix(process): wait for close after Windows exit fallback 2026-04-10 10:09:25 +05:30
Ayaan Zaidi
4b6b1a3ed3 fix(process): settle Windows supervisor waits from exit state 2026-04-10 10:09:25 +05:30
joshavant
393c791466 UI: remove redundant cron refresh wrapper 2026-04-09 22:59:22 -05:00
Marcus Castro
95d467398e fix(whatsapp): drain eligible pending deliveries on reconnect (#63916)
* fix(whatsapp): drain eligible pending deliveries on reconnect

* docs(changelog): note whatsapp reconnect pending drain
2026-04-09 23:41:25 -03:00
Gustavo Madeira Santana
8de63ca268 refactor(gateway): split startup and runtime seams (#63975)
Merged via squash.

Prepared head SHA: c6e47efa12
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-09 21:28:29 -04:00
Josh Avant
33ad806a14 Browser: consolidate duplicate helper surfaces via facade delegation (#63957)
* Plugin SDK: route browser helper surfaces through browser facade

* Browser doctor flow: add facade path regression and export parity guards

* Contracts: dedupe browser facade parity checks without reducing coverage

* Browser tests: restore host-inspection semantics coverage in extension

* fix: add changelog note for browser facade consolidation (#63957) (thanks @joshavant)
2026-04-09 19:49:04 -05:00
SnowSky1
03f2951e63 fix(agents): preserve announce threadId on sessions.list fallback (#63506)
Merged via squash.

Prepared head SHA: a81e85de0c
Co-authored-by: SnowSky1 <126348592+SnowSky1@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-09 16:02:56 -07:00
Altay
8cf02e7c47 fix(ci): clear check-additional follow-up regressions (#63934)
* fix(ci): route messaging temp files through openclaw tmp dir

* fix(ci): clear qa-lab follow-up guardrails

* fix(ci): own-check ACP fallback resolvers

* fix(ci): preserve memory-core write error causes

* fix(ci): narrow qa-channel boundary alias

* fix(test): type memory-core dreaming api stubs
2026-04-09 23:47:59 +01:00
Josh Lehman
8e62df661e fix: read packed refs for git commit metadata (#63943)
Regeneration-Prompt: |
  Investigate the unrelated failures in `src/infra/git-commit.test.ts` that started blocking other prep and gate flows. The real-checkout assertions were failing whenever the current branch ref lived only in `.git/packed-refs`, because `resolveCommitHash()` only followed loose ref files under `refs/heads/*` even though worktrees and packed refs are common in this repo. Keep the existing safety checks that reject traversal from crafted HEAD contents, but fall back to reading an exact ref match from `packed-refs` in the common git dir when the loose ref is missing. Add a deterministic regression test that simulates a worktree checkout with `commondir` and only a packed branch ref so the test no longer depends on the local repository state.
2026-04-09 15:39:11 -07:00
Ping
e3f81b151e fix: pass parent delivery context to ACP stream relay for correct thread routing (#57056)
Merged via squash.

Prepared head SHA: 7c34e67336
Co-authored-by: pingren <5123601+pingren@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-09 14:43:42 -07:00
Guangchi Yuan
110782a26a fix(gateway): preserve thread routing in delivery context for Slack/Telegram/Mattermost (#54840)
Merged via squash.

Prepared head SHA: 34bedac747
Co-authored-by: yzzymt <6908291+yzzymt@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-09 14:26:41 -07:00
welfo-beo
81c7304a18 [codex] fix cron telegram final announce delivery (#63228)
Merged via squash.

Prepared head SHA: f3928f79eb
Co-authored-by: welfo-beo <187608477+welfo-beo@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-09 14:24:35 -07:00
Altay
004bab53fa fix(ci): repair protocol drift and audit failures (#63917)
* CI: fix protocol drift and audit failures

* CI: narrow axios release-age exception

* CI: drop ineffective feishu override

* test: fix workspace-root guard mock typing
2026-04-09 22:07:51 +01:00
Roger Deng
1e15bb2638 fix: prevent isolated heartbeat session key :heartbeat suffix accumulation (#59606)
Merged via squash.

Prepared head SHA: c276211a8b
Co-authored-by: rogerdigital <13251150+rogerdigital@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-09 14:06:55 -07:00
Mariano
4bd720527b fix(memory-lancedb): accept dreaming config for slot-owned memory (#63874)
Merged via squash.

Prepared head SHA: 9aaf29bd36
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-09 23:03:53 +02:00
XING
820dc38525 fix(gateway): add TTL cleanup for 3 Maps that grow unbounded causing OOM (#52731)
Merged via squash.

Prepared head SHA: 4816a29de5
Co-authored-by: artwalker <44759507+artwalker@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-09 13:58:46 -07:00