Commit Graph

37024 Commits

Author SHA1 Message Date
NVIDIAN
dc96886378 fix: clean up bundled LSP process trees on shutdown
Fixes #72357
2026-04-27 11:10:56 -07:00
Vincent Koc
d9bef3fe7c fix(ui): discard stale config state on explicit reload (#72624)
* fix(ui): discard stale config state on explicit reload

* fix(clownfish): address review for ghcrawl-156594-autonomous-smoke (1)

* fix(clownfish): address review for ghcrawl-156594-autonomous-smoke (1)

* test(ui): align channel config host state
2026-04-27 11:10:38 -07:00
Vincent Koc
be6263da4f fix(gateway): preserve runtime-backed health state (#72417)
* fix(gateway): preserve runtime-backed health state

* fix(clownfish): address review for ghcrawl-207035-agentic-merge (1)

* fix(gateway): harden health snapshot exposure
2026-04-27 11:04:59 -07:00
Vincent Koc
2161b46032 fix(feishu): support native interactive card payload sends (#72667)
* fix(feishu): support native interactive card payload sends

* fix(clownfish): address review for ghcrawl-156608-autonomous-smoke (1)

* fix(feishu): harden native card payload rendering
2026-04-27 11:02:15 -07:00
Gustavo Madeira Santana
c5678194d4 docs(qa): document Telegram and Discord QA lanes against code
Both lanes had only one paragraph each in qa-e2e-automation.md. Adds a
"Telegram and Discord QA reference" section verified against
extensions/qa-lab/src/live-transports/{telegram,discord}/* with:

- shared CLI flags table (--scenario, --output-dir, --repo-root, --sut-account,
  --provider-mode, --model, --alt-model, --fast, --credential-source,
  --credential-role) — none of these were enumerated for either lane.
- Telegram QA: 8 scenario ids
  (telegram-canary/-mention-gating/-mentioned-message-reply/-help-command/
  -commands-command/-tools-compact-command/-whoami-command/-context-command),
  output artifact paths (telegram-qa-report.md, -summary.json,
  -observed-messages.json), and the redaction toggle.
- Discord QA: 3 scenario ids
  (discord-canary/-mention-gating/-native-help-command-registration), output
  artifact paths, and the SUT-application-id-must-match-bot-user-id check.
- Convex credential pool: documents Discord support (only Telegram was
  mentioned before) and the per-kind payload shapes for the
  admin/add validator. Cross-links to testing.md for the broker endpoint
  contract.

Slims the duplicate Operator-flow paragraphs for Telegram and Discord into a
single one-block pointer that links to the new reference section.
2026-04-27 13:48:03 -04:00
Peter Steinberger
b39d80835f test: retry transient openai websocket live stream 2026-04-27 18:43:45 +01:00
openclaw-test-performance-agent[bot]
2f909b0b21 test: optimize slow tests 2026-04-27 17:42:22 +00:00
Gustavo Madeira Santana
dd1a94f089 docs(qa): reorg, audit against code, and refresh stale content
Reorg
- Rename the architecture page title to "QA overview" (slug stays
  /concepts/qa-e2e-automation so inbound links keep working).
- Move "Adding a channel to QA" + scenario-helper-name reference from
  testing.md into qa-e2e-automation.md under "Transport adapters". Architecture
  belongs with the architecture page.
- Drop the duplicate live-transport coverage table from testing.md; canonical
  copy stays in qa-e2e-automation.md under a new "Live transport coverage"
  heading so qa-matrix.md can deep-link to it.
- Slim testing.md QA-specific runners section to ops only, with cross-links.

Audit (against extensions/qa-lab/src/cli.ts, qa-channel/src/config-schema.ts,
and live-transport runtimes)
- qa-e2e-automation.md gains a "Command surface" table covering all 14
  openclaw qa <subcommand> forms; previously only ~7 of 14 were named.
- Document missing OPENCLAW_QA_TELEGRAM_CAPTURE_CONTENT and
  OPENCLAW_QA_DISCORD_CAPTURE_CONTENT env vars (Matrix already had it).
- Cross-link qa coverage from the Reporting section.
- qa-channel.md completes the config-key list (enabled, name, accounts,
  defaultAccount were missing from the schema doc) and pollTimeoutMs range.
- Drop stale "Follow-up work" framing in qa-channel.md (provider/model matrix,
  scenario discovery, orchestration) — all three already shipped.
- Replace "vertical slice" language with current behavior; fix misplaced
  debugger-UI paragraph.

Discoverability
- Add a Note callout to testing.md pointing at the three QA pages
  (QA overview, Matrix QA, QA channel) so maintainers landing on testing.md
  see the QA stack in the prologue.

Glossary entries for the renamed/new doc titles.
2026-04-27 13:40:11 -04:00
Gustavo Madeira Santana
abca187df5 docs(qa): add dedicated Matrix QA reference page
Adds a focused reference for the Docker-backed Matrix QA lane (CLI flags,
seven scenario profiles, eight env vars including the redaction toggle and
Tuwunel image override, scenario taxonomy, output artifact layout, and triage
tips). Source-of-truth checked against extensions/qa-matrix/src/cli.ts,
shared/live-transport-cli.ts, runners/contract/{runtime,scenario-catalog}.ts,
and substrate/harness.runtime.ts.

Registered in docs/docs.json alongside QA E2E automation.
2026-04-27 13:40:11 -04:00
Val Alexander
ea92dc9202 chore(coven): enable ClawHub publishing
Mark the Coven ACP runtime bridge as a ClawHub-publishable code plugin and align its workspace lockfile metadata.
2026-04-27 12:35:34 -05:00
Peter Steinberger
8f8ba8af40 test: harden live release validation flakes 2026-04-27 18:32:31 +01:00
Vincent Koc
a2ec5a7d72 fix(plugins): break metadata snapshot cycle 2026-04-27 10:29:27 -07:00
Peter Steinberger
147752ecc3 refactor: split plugin metadata normalizer 2026-04-27 18:27:29 +01:00
Val Alexander
e3ad82d86d fix(control-ui): polish tweakcn theme imports
Summary:
- Improve Control UI tweakcn theme import parsing and labeling.
- Apply imported theme names consistently across appearance controls.
- Document tweakcn share link and slug import flows.

Verification:
- pnpm test ui/src/ui/custom-theme.test.ts ui/src/ui/views/config.browser.test.ts ui/src/ui/views/config-quick.test.ts ui/src/ui/app-settings.test.ts ui/src/ui/storage.node.test.ts
- pnpm check:changed
- pnpm --dir ui build
2026-04-27 12:24:14 -05:00
Val Alexander
fc8ccde542 feat(acp): add opt-in Coven runtime bridge
Add the opt-in Coven ACP runtime bridge as a bundled extension while keeping ACPX as the default path.

Security hardening included before merge:
- fail closed by default instead of silently falling back;
- bounded health/socket requests and daemon response sizes;
- fixed Coven socket trust anchor and symlink/path validation;
- reject untrusted harness/session/event ids before exposing them;
- sanitize daemon-controlled terminal/status/error strings;
- use incremental event polling with bounded dedupe state;
- clean up launched Coven sessions before fallback when daemon ids are invalid.

Validation:
- pnpm test extensions/coven/src/config.test.ts extensions/coven/src/client.test.ts extensions/coven/src/runtime.test.ts
- pnpm check:changed
- GitHub CI green on a64eac20b9
- Greptile Review green
2026-04-27 12:22:29 -05:00
Peter Steinberger
fd6e1c089b test: accept current codex status wording 2026-04-27 18:11:19 +01:00
Shakker
5531502cb0 fix: normalize provider metadata live filters 2026-04-27 18:04:54 +01:00
Shakker
4cd2cabe7f fix: include cli backend owners in provider metadata filters 2026-04-27 18:04:54 +01:00
Shakker
498af508d0 fix: avoid default workspace metadata for agent models 2026-04-27 18:04:54 +01:00
Shakker
51c7f544f3 fix: reject unscoped workspace plugin metadata 2026-04-27 18:04:54 +01:00
Shakker
4ceae8262f fix: scope model provider discovery metadata to workspace 2026-04-27 18:04:54 +01:00
Shakker
4e7de4b5c9 feat: reuse current plugin metadata for provider discovery 2026-04-27 18:04:54 +01:00
Shakker
a478ab3dfa refactor: let provider discovery reuse plugin metadata 2026-04-27 18:04:54 +01:00
Peter Steinberger
f20a295782 test: align release validation expectations 2026-04-27 17:46:31 +01:00
Vincent Koc
efc3a52947 fix(sessions_spawn): tolerate ACP-only fields for subagent runtime
Preserve contributor credit and land the narrowed sessions_spawn ACP-field handling with follow-up transcript redaction and ACP resume ownership hardening. Targeted Blacksmith validation passed for the touched sessions/ACP tests.
2026-04-27 09:42:24 -07:00
Peter Steinberger
aeba1d6b47 test: keep stateful tests out of unit-fast 2026-04-27 17:34:05 +01:00
Shakker
be0c1a9835 test: update model list suppression mocks 2026-04-27 17:13:11 +01:00
Shakker
c896d42cc4 fix: keep manifest suppression on static model lists 2026-04-27 17:13:11 +01:00
Shakker
13feb1b284 fix: narrow manifest alias overrides 2026-04-27 17:13:11 +01:00
Shakker
1056a9ea81 refactor: reuse manifest catalog provider refs 2026-04-27 17:13:11 +01:00
Shakker
e535b313cd docs: document manifest alias suppression behavior 2026-04-27 17:13:11 +01:00
Shakker
df07a89b52 test: cover manifest suppression precedence 2026-04-27 17:13:11 +01:00
Shakker
6e893eaee4 refactor: expose model catalog aliases in plugin lookup 2026-04-27 17:13:11 +01:00
Shakker
03c4c319e3 feat: declare openai catalog suppressions 2026-04-27 17:13:11 +01:00
Shakker
d014b36347 feat: resolve model suppressions from manifests 2026-04-27 17:13:11 +01:00
Shakker
b2685e72c1 refactor: plan manifest catalog aliases and suppressions 2026-04-27 17:13:11 +01:00
Peter Steinberger
6d269f62d6 perf(test): route more stable tests through unit-fast 2026-04-27 17:07:29 +01:00
Shakker
b72414c94e fix: include startup plan in lookup timing 2026-04-27 17:02:57 +01:00
Shakker
94591c3cb3 fix: fingerprint plugin metadata index reuse 2026-04-27 17:02:57 +01:00
Shakker
58b4407cda fix: reject stale plugin metadata inventory 2026-04-27 17:02:57 +01:00
Shakker
197c83138e fix: reuse startup metadata in plugin bootstrap 2026-04-27 17:02:57 +01:00
Shakker
5a72378b27 fix: keep plugin metadata out of config snapshots 2026-04-27 17:02:57 +01:00
Shakker
ab28cfa9d4 fix: guard plugin metadata snapshot reuse 2026-04-27 17:02:57 +01:00
Shakker
5240422f03 docs: describe plugin metadata snapshot 2026-04-27 17:02:57 +01:00
Shakker
d62cc59388 fix: reuse startup metadata for auto enable 2026-04-27 17:02:57 +01:00
Shakker
9de2bc6ffc refactor: reuse startup plugin metadata snapshot 2026-04-27 17:02:57 +01:00
Shakker
ca4f964547 refactor: let config validation use plugin metadata snapshot 2026-04-27 17:02:57 +01:00
Shakker
440fc73448 refactor: extract plugin metadata snapshot 2026-04-27 17:02:57 +01:00
Peter Steinberger
04b5dd097d test: skip bootstrap in release validation onboarding 2026-04-27 17:01:52 +01:00
Peter Steinberger
1fd0802b88 perf(test): route more unit tests through fast lane 2026-04-27 17:01:16 +01:00