Commit Graph

40140 Commits

Author SHA1 Message Date
Peter Steinberger
e07960417c ci: tolerate missing performance report URL 2026-05-02 16:52:37 +01:00
Peter Steinberger
b22263720e ci: make performance workflow sanity nonblocking 2026-05-02 16:50:12 +01:00
Peter Steinberger
b63d098e8c fix: repair configured plugin installs (#76129)
Summary:
- The PR adds a 2026.5.2 doctor repair pass for actively used configured downloadable plugins, prefers ClawHub ... pm fallback, records installed plugin state, extends upgrade-survivor coverage, and updates docs/changelog.
- Reproducibility: yes. Static inspection of current main and the PR head gives a high-confidence reproduction ... d-plugin install pass, while the PR tests the new repair-only path, success stamping, and warning behavior.

ClawSweeper fixups:
- Included follow-up commit: test: cover configured plugin install update path
- Included follow-up commit: test: isolate channel option metadata cache
- Included follow-up commit: fix: keep configured plugin repair scoped

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

Prepared head SHA: d3519ce42c
Review: https://github.com/openclaw/openclaw/pull/76129#issuecomment-4364120658

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-02 15:49:52 +00:00
Vincent Koc
7b6b6401ce test(plugins): cover partial provider install catalog 2026-05-02 08:48:55 -07:00
Peter Steinberger
0be7a78479 ci: add OpenClaw performance reports 2026-05-02 16:48:33 +01:00
Val Alexander
4532e5d858 fix(control-ui): preserve Stop after reconnect
Fixes #70991.

Adds authenticated Gateway WebSocket protocol pings, exposes active session-run state to Control UI, and keeps session-scoped Stop available after reconnect or reload when the browser lost the local run id.

Validation:
- pnpm test ui/src/ui/app-chat.test.ts ui/src/ui/app-gateway.node.test.ts src/gateway/server.sessions.list-changed.test.ts src/gateway/server/ws-connection.test.ts
- OPENCLAW_LOCAL_CHECK=1 OPENCLAW_LOCAL_CHECK_MODE=throttled pnpm check:changed
- GitHub CI and high-signal security checks passed on head 1f4c8728c8
2026-05-02 10:41:27 -05:00
Val Alexander
aaa19fb9f3 fix(ui): tolerate malformed cron payloads
Fix Control UI blank sections caused by malformed persisted cron rows.

- filter invalid cron payloads at the cron.list UI boundary
- guard stale cron payload reads in render, edit, and detail paths
- add regression coverage for malformed cron rows from #55047 and #54439

Closes #55047.
Closes #54439.
Supersedes #54550.
Supersedes #54552.
2026-05-02 10:37:53 -05:00
Vincent Koc
33eebc29c3 test(plugins): cover kitchen sink clawhub cutover 2026-05-02 08:30:47 -07:00
Peter Steinberger
4eedc4723f test(config): remove runtime legacy compat wrapper 2026-05-02 16:29:10 +01:00
Peter Steinberger
15cb06430e fix(plugins): guard optional stock root cache key 2026-05-02 16:18:38 +01:00
Val Alexander
5fce2f6b0f fix(control-ui): allow configured chat message width
Adds validated gateway.controlUi.chatMessageMaxWidth support for grouped Control UI chat messages, carries it through the Gateway bootstrap payload into UI state, applies it as a CSS custom property, and documents the setting while preserving the existing default width.

Fixes #67935.

Validation:
- Targeted config, gateway, and Control UI tests passed locally.
- Config schema/docs checks passed.
- Testbox changed-file gate passed.
- GitHub CI and security checks are green on cea25a4ca9.
2026-05-02 10:18:08 -05:00
Peter Steinberger
a3564ae546 perf: optimize plugin schema validation 2026-05-02 16:15:45 +01:00
Peter Steinberger
0cf51b77fb refactor(memory): collapse legacy memory registration state 2026-05-02 16:15:07 +01:00
zhang-guiping
2c272e271a fix(agents): preserve session model after heartbeat runs
Fixes #75452.

Heartbeat runs can use a per-turn model override via agents.defaults.heartbeat.model. Before this change, the run metadata was written back to the shared session store, so the next normal turn could inherit the heartbeat provider/model and a smaller context window.

This lands the contributor fix plus maintainer polish:
- preserve existing session runtime model/provider/context metadata when persisting heartbeat turns
- avoid creating invalid provider/model pairs for legacy model-only session entries
- leave empty prior runtime state unset for heartbeat-only turns
- keep normal non-heartbeat runtime persistence unchanged
- add focused regression coverage for the session-store edge cases
- refresh heartbeat docs and changelog attribution

Validation:
- pnpm test src/agents/command/session-store.test.ts src/agents/openclaw-tools.session-status.test.ts
- pnpm exec oxfmt --check --threads=1 src/agents/agent-command.ts src/agents/command/session-store.ts src/agents/command/session-store.test.ts CHANGELOG.md docs/gateway/heartbeat.md
- git diff --check
- GitHub checks on 42a00dcf38: clean; no active checks and no relevant failures

Duplicate PR #75567 was already closed; #75557 is the canonical fix.
2026-05-02 10:14:30 -05:00
Peter Steinberger
ad0d87d881 perf: cache startup package metadata 2026-05-02 16:11:05 +01:00
Peter Steinberger
5b063c2d83 fix: keep legacy config repair in doctor 2026-05-02 16:10:45 +01:00
Peter Steinberger
3f2c3a69d7 fix(release): stabilize slow live release gates 2026-05-02 16:04:39 +01:00
Vincent Koc
c7b5302acf fix(plugins): repair missing clawhub installs 2026-05-02 08:01:37 -07:00
Peter Steinberger
2244ba87b3 docs: add generated plugin reference pages 2026-05-02 15:55:47 +01:00
Peter Steinberger
da2a8bd6bb fix: scope runtime plugin preload to effective plugins 2026-05-02 15:55:06 +01:00
Peter Steinberger
5980040894 fix: avoid duplicate gateway config loads 2026-05-02 15:49:16 +01:00
Federico Kamelhar
10ebcbdb99 fix(docker): replace curl|bash Bun install with pinned multi-stage COPY (#74359)
Merged via squash.

Prepared head SHA: 3b4a889467
Co-authored-by: fede-kamel <209537060+fede-kamel@users.noreply.github.com>
Co-authored-by: sallyom <11166065+sallyom@users.noreply.github.com>
Reviewed-by: @sallyom
2026-05-02 10:46:51 -04:00
Peter Steinberger
2b37b383ed fix(sessions): keep list polling lightweight (#76090)
Co-authored-by: rolandrscheel <20336324+rolandrscheel@users.noreply.github.com>
2026-05-02 15:45:38 +01:00
Vincent Koc
d228b0dc58 fix(plugins): narrow channel install defaults 2026-05-02 07:41:24 -07:00
Vincent Koc
16e3316beb fix(plugins): type channel clawhub install metadata 2026-05-02 07:41:24 -07:00
Vincent Koc
9281eee702 feat(plugins): prefer clawhub for channel setup installs 2026-05-02 07:41:23 -07:00
Peter Steinberger
27318663ef docs: compact plugin inventory tables 2026-05-02 15:40:02 +01:00
Peter Steinberger
9d5a0d4094 test: support legacy plugin cleanup package layout 2026-05-02 15:36:01 +01:00
Peter Steinberger
57e4a12165 fix(release): stage codex plugin source for live docker harness 2026-05-02 15:34:59 +01:00
Vincent Koc
dda2db97d4 fix(plugins): accept clawhub provider index installs 2026-05-02 07:27:20 -07:00
Vincent Koc
11daaad3d0 feat(plugins): prefer clawhub in onboarding installs 2026-05-02 07:27:20 -07:00
Peter Steinberger
75dd28e083 fix(doctor): preserve built-in channel plugin allow entries 2026-05-02 15:26:57 +01:00
Peter Steinberger
bf2711b40e fix(gateway): cap channel startup fanout 2026-05-02 15:26:45 +01:00
Peter Steinberger
829364f85e test: dedupe session write-lock mock export (#76051) 2026-05-02 15:20:24 +01:00
Peter Steinberger
95b65054d4 test: repair session write-lock generated coverage (#76051) 2026-05-02 15:20:24 +01:00
Peter Steinberger
17d3513211 docs: add sessions defaults changelog (#76051) 2026-05-02 15:20:24 +01:00
Cedric
98bd987a0a fix(control-ui): bound default sessions query 2026-05-02 15:20:24 +01:00
Peter Steinberger
1d5c77c443 fix(gateway): include active plugin tools in catalog 2026-05-02 15:15:52 +01:00
Peter Steinberger
bd6035d977 fix: prefer built plugin artifacts at gateway startup 2026-05-02 15:12:52 +01:00
Peter Steinberger
2dd3e40a13 fix: lazy-load memory-core runtime surfaces 2026-05-02 15:12:30 +01:00
Peter Steinberger
91bb76d8b9 perf(file-transfer): lazy-load runtime handlers 2026-05-02 15:12:14 +01:00
Peter Steinberger
3a52e95473 test(core): refresh write lock config fixtures 2026-05-02 15:07:48 +01:00
Peter Steinberger
eddc589ca5 fix: lazy load bonjour advertiser 2026-05-02 15:05:33 +01:00
Peter Steinberger
408642dc34 test: skip legacy doctor in upgrade survivor prep 2026-05-02 15:04:06 +01:00
Peter Steinberger
3240cccb8a fix(plugins): expose startup tool registry in catalog 2026-05-02 15:01:01 +01:00
JIRBOY
68ac9a48b7 perf(gateway): skip auth overlays during startup secrets preflight
Use persisted-only auth profile loading for gateway startup and restart-check secrets preflight, keeping reload/OAuth/runtime paths overlay-capable.

Validation:
- pnpm test src/gateway/server-startup-config.secrets.test.ts src/secrets/runtime.fast-path.test.ts
- Testbox: OPENCLAW_TESTBOX=1 pnpm check:changed

Thanks @JIRBOY.
2026-05-02 15:00:21 +01:00
Ayaan Zaidi
a55b2af7a5 fix: keep Gemini thinking streams active (#76080) (thanks @zhangguiping-xydt) 2026-05-02 19:26:54 +05:30
zhang-guiping
ea3416d8b5 fix(google): handle thoughtSignature-only parts to prevent Gemini stream hang
Gemini 3.1 Pro Preview may emit parts with only thoughtSignature
and no text content, causing the stream to stall. Emit a
thinking_signature event to keep the stream active, and start
a thinking block when these parts arrive before any text.

Fixes #76071
2026-05-02 19:26:54 +05:30
Peter Steinberger
f7ed29e118 fix: thread session write-lock timeout config 2026-05-02 14:54:54 +01:00
Ayaan Zaidi
731f640bca style(agents): trim tool-timeout comments 2026-05-02 19:23:17 +05:30