Commit Graph

31545 Commits

Author SHA1 Message Date
Visionik
ed58ded6b8 test(qa): raise approval-turn-tool-followthrough timeouts for CI stability
Pre-action and outbound-wait steps bumped 20s→35s; approval turn 30s→45s;
final waitForCondition 20s→35s. Parity gate flaked with gateway timeout
after 25000ms (agent.wait outer guard = preActionPrompt timeout + 5s) on
gpt-5.4 mock lane under CI resource pressure. No logic change — wider
window only.
2026-04-15 16:31:22 -04:00
Peter Steinberger
943cb47274 fix(qa): use exported runner sdk seam v2026.4.15-beta.1 2026-04-15 20:26:12 +01:00
Peter Steinberger
4caa882476 test: harden gateway live docker flake handling 2026-04-15 20:13:28 +01:00
Devin Robison
52ef42302e fix: tighten trusted tool media passthrough (#67303)
* fix: tighten trusted tool media passthrough

* changelog: tighten trusted tool media passthrough (#67303)

* address review: thread rawToolName into emitToolResultOutput and keep plugin-tool media passthrough

- Pass rawToolName through emitToolResultOutput params so the emit and
  collect calls no longer reference an out-of-scope identifier
  (ReferenceError on any verbose tool-output path).
- Widen builtinToolNames to all effective tool raw names for this run
  (core + bundled/trusted plugin tools), so plugin tools on the trusted
  media list still receive local MEDIA: passthrough. Admission-time
  client-tool conflict check keeps using the core-only set so unrelated
  plugin names do not spuriously reject client definitions; MEDIA
  passthrough is still gated by the raw-name set, so a client tool that
  normalize-collides with a plugin name cannot inherit its media trust.
- Add unit coverage for bundled-plugin raw-name passthrough and for
  case-variant plugin-name collisions.

* drop redundant String() casts flagged by oxlint no-useless-cast

The names from effectiveTools, client tool function names, and the
existingToolNames iterable are already typed as string, so wrapping them
in String(...) adds nothing and trips oxlint's no-useless-cast rule.
2026-04-15 13:12:44 -06:00
Bartok9
4de56b18ba fix(dreaming): use ingestion date for dayBucket instead of file date (#67091)
Merged via squash.

Prepared head SHA: 2df44e4d50
Co-authored-by: Bartok9 <259807879+Bartok9@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-15 11:56:10 -07:00
Peter Steinberger
a177d8d454 build: refresh release baselines 2026-04-15 19:41:32 +01:00
Peter Steinberger
23dca0a089 test: fix upstream type drift 2026-04-15 19:31:10 +01:00
Peter Steinberger
4efd3c3d74 test: harden beta release gates 2026-04-15 19:28:49 +01:00
Peter Steinberger
41699cfc2d build: fix bundled channel smoke layout 2026-04-15 19:28:49 +01:00
Peter Steinberger
0a57279309 docs: update beta changelog 2026-04-15 19:28:49 +01:00
Pavan Kumar Gondhi
1470de5d3e fix(webchat): reject remote-host file:// URLs in media embedding path [AI-assisted] (#67293)
* fix: address issue

* fix: address PR review feedback

* fix: address PR review feedback

* docs: add changelog entry for PR merge
2026-04-15 23:58:01 +05:30
Gustavo Madeira Santana
84185cb3eb docs: clean up clawtributors generator 2026-04-15 14:20:32 -04:00
hcl
be7f4a2342 fix(terminal): tolerate undefined path in formatDocsLink (#67076, #67074) (#67086)
formatDocsLink called path.trim() unconditionally. The typed contract
says 'docsPath: string' (required on ChannelMeta), but a handful of
channel plugins and catalog rows leave it unset at runtime, so
onboarding flows that call formatChannelSelectionLine(entry.meta, ...)
hit a TypeError on the first meta without a docsPath:

  TypeError: Cannot read properties of undefined (reading 'trim')

Symptom: 'openclaw onboard --install-daemon' and the 'Select channel
(QuickStart)' -> 'Skip for now' path both crash on 2026.4.12 and
2026.4.14.

Fix: widen formatDocsLink's path parameter to 'string | undefined |
null' and fall back to the docs root when path is missing. The single
call site that guards with 'if (params.docsPath)' stays fine; the
unguarded channel-selection path now degrades gracefully.

Fixes #67076
Fixes #67074
2026-04-15 23:40:52 +05:30
Gustavo Madeira Santana
2bfd808a83 fix(matrix): skip pairing-store reads for room auth (#67325)
Merged via squash.

Prepared head SHA: 121ff3b38c
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-15 14:08:43 -04:00
Tak Hoffman
4f00b76925 fix(context-window): Tighten context limits and bound memory excerpts (#67277)
* Tighten context limits and bound memory excerpts

* Align startup context defaults in config docs

* Align qmd memory_get bounds with shared limits

* Preserve qmd partial memory reads

* Fix shared memory read type import

* Add changelog entry for context bounds
2026-04-15 13:06:02 -05:00
Peter Steinberger
89d2c145df test: harden gateway live docker test assertions 2026-04-15 18:47:40 +01:00
Gustavo Madeira Santana
4dfcc030ae fix(release): ignore leaf test filenames 2026-04-15 13:38:38 -04:00
Peter Steinberger
893d0635b6 test(parallels): harden smoke harness progress and gateway startup 2026-04-15 18:33:05 +01:00
Pavan Kumar Gondhi
6e58f1f9f5 fix(gateway): enforce localRoots containment on webchat audio embedding path [AI-assisted] (#67298)
* fix: address issue

* fix: address review feedback

* fix: address PR review feedback

* docs: add changelog entry for PR merge
2026-04-15 22:54:06 +05:30
Gustavo Madeira Santana
7c6f2c0a5a Build: prune packaged runtime test cargo (#67275)
Merged via squash.

Prepared head SHA: 403f8e5749
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-15 13:18:03 -04:00
Pavan Kumar Gondhi
f8705f512b fix(matrix): block DM pairing-store entries from authorizing room control commands [AI-assisted] (#67294)
* fix: address issue

* fix: address review feedback

* docs: add changelog entry for PR merge
2026-04-15 22:45:14 +05:30
Gustavo Madeira Santana
ed28df48a4 test(matrix): fix bootstrap password mock typing 2026-04-15 13:09:00 -04:00
Peter Steinberger
229eb72cf6 build: exclude private QA from npm package 2026-04-15 09:39:51 -07:00
Gustavo Madeira Santana
78ac118427 fix(plugins): stabilize bundled setup runtimes (#67200)
Merged via squash.

Prepared head SHA: e8d6738fd0
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-15 12:35:18 -04:00
neo1027144
ee6b7daca3 fix(cron): suppress trailing NO_REPLY in announce delivery path [AI-assisted] (#65004)
Merged via squash.

Prepared head SHA: b7f1996d60
Co-authored-by: neo1027144-creator <267440006+neo1027144-creator@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-15 09:31:35 -07:00
Shadow
32222812ea Revise contribution process for new features 2026-04-15 11:04:30 -05:00
saram ali
b2753fd0de fix(matrix): fix E2EE SSSS bootstrap for passwordless token-auth bots (#66228)
Merged via squash.

Prepared head SHA: c62cebf7c3
Co-authored-by: SARAMALI15792 <140950904+SARAMALI15792@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-15 11:48:29 -04:00
Gustavo Madeira Santana
568df95736 fix: move Docker changelog entry to unreleased 2026-04-15 11:43:15 -04:00
ly85206559
3e60eaa884 fix(docker): verify matrix-sdk-crypto native addon without hardcoded pnpm path (#65608) (#67143)
Merged via squash.

Prepared head SHA: 325e97ead5
Co-authored-by: ly85206559 <12526624+ly85206559@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-15 11:37:14 -04:00
Peter Steinberger
8f4331e3b4 docs: clarify test-only vulnerability scope 2026-04-15 07:23:07 -07:00
Peter Steinberger
0149ca0669 fix(ci): make non-root installer smoke expect npm latest 2026-04-15 15:21:21 +01:00
Mason Huang
dc86349c02 fix(test): stop overriding host-aware vitest scheduling in prepare gates (#67213)
The hardcoded `OPENCLAW_VITEST_MAX_WORKERS=4` default in gates.sh
short-circuits the host-aware scheduling introduced in c247e366.
`resolveLocalVitestScheduling` sees the explicit override and returns
maxWorkers=4, which falls below the >= 5 threshold required by
`shouldUseLargeLocalFullSuiteProfile`, so every machine—regardless of
resources—gets the DEFAULT profile (4 shard parallelism) instead of
the LARGE profile (10 shard parallelism).

Drop the hardcoded default so `test-projects.mjs` can detect actual
host resources and pick the appropriate profile automatically. When
the user explicitly sets OPENCLAW_VITEST_MAX_WORKERS, forward it as
before.
2026-04-15 22:06:41 +08:00
Peter Steinberger
69ba56d2c8 build(config): refresh generated schema version for 2026.4.15-beta.1 2026-04-15 15:06:13 +01:00
Peter Steinberger
b3fa5880dd build(extensions): bump bundled plugin versions to 2026.4.15-beta.1 2026-04-15 15:06:13 +01:00
Peter Steinberger
cb790c858b build(release): bump core app versions to 2026.4.15-beta.1 2026-04-15 15:06:13 +01:00
Peter Steinberger
ef98bcf630 fix(discord): raise carbon slow listener threshold 2026-04-15 06:40:14 -07:00
Ayaan Zaidi
33154ce745 fix: simplify ollama onboarding (#67005)
* feat(ollama): split interactive cloud and local setup

* test(ollama): cover cloud onboarding flow

* docs(ollama): simplify provider setup docs

* docs(onboarding): update ollama wizard copy

* fix(ollama): restore web search auth helper

* fix(ollama): harden setup auth and ssrf handling

* fix(ollama): address review regressions

* fix(ollama): scope ssrf hardening to ollama

* feat(ollama): add hybrid onboarding mode

* fix(ollama): tighten cloud credential setup

* refactor(ollama): distill host-backed setup modes

* fix(ollama): preserve cloud api key in config

* fix: simplify ollama onboarding (#67005)
2026-04-15 19:06:21 +05:30
Peter Steinberger
20cce166ef test: isolate Docker live profile-key auth 2026-04-15 06:31:20 -07:00
Peter Steinberger
ec4c2cb62c docs(changelog): refresh unreleased section 2026-04-15 14:24:03 +01:00
Chen Chia Yang
d2a219ea44 fix(media): allow host-local CSV and Markdown uploads via Slack (#67047)
Merged via squash.

Prepared head SHA: 5ce11d0bac
Co-authored-by: Unayung <1853105+Unayung@users.noreply.github.com>
Co-authored-by: frankekn <712880+frankekn@users.noreply.github.com>
Reviewed-by: @frankekn
2026-04-15 20:38:17 +08:00
Peter Steinberger
b9d0fc5630 fix(qa-matrix): remove unused scenario import 2026-04-15 13:08:36 +01:00
Peter Steinberger
931581070a test(plugins): allow packaged runtime mirrors 2026-04-15 12:57:32 +01:00
Gustavo Madeira Santana
963ad1df06 QA: extend Matrix live contract coverage 2026-04-15 07:36:35 -04:00
Vincent Koc
3830e687dd test(perf): speed up slow gateway specs 2026-04-15 12:30:48 +01:00
Peter Steinberger
1bca9ba479 fix(release): mirror bundled runtime deps 2026-04-15 12:29:15 +01:00
Vincent Koc
7d2e068b27 test(agents): trim extraparams anthropic passthrough cost 2026-04-15 12:28:08 +01:00
Vincent Koc
c5b3f00d11 test(plugins): align jiti loader cache expectations 2026-04-15 12:14:34 +01:00
Vincent Koc
890e299e30 fix(ci): align docker smoke cache tests and reuse built dist 2026-04-15 12:12:58 +01:00
Vincent Koc
bb4498cef7 test(plugins): align unreadable manifest traversal failure code 2026-04-15 12:10:24 +01:00
Vincent Koc
b855b1d047 fix(ci): clear extension lint regressions 2026-04-15 12:08:33 +01:00