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
Simon
fbad17bf4f
fix(plugin-sdk): keep harness timeout flag optional
...
Keep the new attempt-result field optional for third-party harness compatibility while defaulting absent values at the runner boundary.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 19:23:17 +05:30
Simon
8996161e99
fix(agents): skip retry paths for tool timeouts
...
Thread tool-timeout state through timeout-triggered compaction, generic timeout payload synthesis, and the changelog.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 19:23:17 +05:30
Simon
2605490dbd
fix(agents): classify tool-execution timeouts
...
Detect run-level timeouts that fire while a tool call is still active and keep them out of assistant model fallback.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 19:23:17 +05:30
Peter Steinberger
afbc395dda
fix(gateway): load plugin tools for catalog
2026-05-02 14:52:27 +01:00
Peter Steinberger
1466878c36
refactor: cache plugin tool descriptors ( #76079 )
...
Co-authored-by: Shakker <shakkernerd@users.noreply.github.com >
2026-05-02 14:52:21 +01:00
Peter Steinberger
c6817d8d7a
fix: preserve heartbeat wake compatibility ( #76086 )
2026-05-02 14:52:18 +01:00
Peter Steinberger
c06739d773
fix(heartbeat): type wake scheduling intent
...
Co-authored-by: Jordan Baker <jbb@scryent.com >
2026-05-02 14:52:18 +01:00
Mason Huang
0b09cfb8cd
fix(cli): block package updates from inside running gateway service ( #75729 )
...
Merged via squash.
Prepared head SHA: 8f301c5632
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Reviewed-by: @hxy91819
2026-05-02 21:48:38 +08:00
Ayaan Zaidi
473fc0aad8
fix: retry busy cron wake-now jobs ( #76083 ) (thanks @xuruiray)
2026-05-02 19:15:23 +05:30
Ayaan Zaidi
9797ae35ca
fix(cron): polish wake-now retry PR
2026-05-02 19:15:23 +05:30
Rui Xu
8db83f241e
fix(cron): retry busy recurring wake-now jobs
2026-05-02 19:15:23 +05:30
Peter Steinberger
91055b9a37
fix(release): keep provider registry fallback behind loader
2026-05-02 14:44:17 +01:00
Peter Steinberger
6a54aac489
build(protocol): refresh generated Swift models
2026-05-02 14:37:42 +01:00