Commit Graph

40393 Commits

Author SHA1 Message Date
Vincent Koc
2e593d07f7 fix(plugins): preserve registry manifest fast path 2026-05-02 22:40:00 -07:00
Vincent Koc
d69d610bf0 fix(ui): guard app custom element registration 2026-05-02 22:40:00 -07:00
Bek
411df59916 fix(plugins): resolve official plugin install aliases
Resolve bare official external plugin IDs through the official catalog before generic npm fallback, preserving explicit npm semantics and catalog integrity through the hook-pack fallback.\n\nFixes #76373.\n\nThanks @bek91 and @vincentkoc.
2026-05-02 22:27:13 -07:00
Vincent Koc
f696be950b fix(gateway): keep runtime metadata on session rows 2026-05-02 22:10:35 -07:00
openclaw-clownfish[bot]
22748b1c36 feat(whatsapp): support native outbound mentions (#73961)
Merged via squash.

Prepared head SHA: bb1df9e681
Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com>
Reviewed-by: @BunsDev
2026-05-02 23:50:54 -05:00
Josh Avant
b1f8172867 fix(secretrefs): resolve external channel contracts (#76449) 2026-05-02 23:48:11 -05:00
pashpashpash
8f4eaa9c00 Stop heartbeat tool turns from asking for HEARTBEAT_OK (#76338)
* fix heartbeat tool prompt sentinel

* fix: remove agent runtime fallback config
2026-05-03 13:46:26 +09:00
Vincent Koc
775c27433f docs(changelog): credit oversized transcript fix 2026-05-02 21:44:25 -07:00
Vincent Koc
fda6ba3818 docs(changelog): credit lightweight session list fix 2026-05-02 21:42:15 -07:00
Vincent Koc
a7d3da71f7 test(gateway): expect lightweight session list rows 2026-05-02 21:37:06 -07:00
Vincent Koc
b1d7901a79 style(gateway): format lightweight session row path 2026-05-02 21:35:01 -07:00
Vincent Koc
5a9cf2c43f fix(gateway): preserve oversized transcript tree leaves 2026-05-02 21:34:36 -07:00
Marvinthebored
7fe4ba013f fix(gateway): add lightweight row path for sessions.list to reduce event-loop blocking
sessions.list calls buildGatewaySessionRow for every visible session,
running transcript usage fallback, display model inference, cost/context
recomputation, thinking level enumeration, agent runtime metadata, and
plugin extension projection per row. On installs with 30-50+ sessions
this blocks the event loop for 20-80+ seconds, starving Discord
heartbeats and Control UI RPCs.

Add skipTranscriptUsageFallback and lightweightListRow flags to
buildGatewaySessionRow. In lightweight mode, skip transcript usage
fallback, display model inference, cost/context recomputation, thinking
level options, agent runtime metadata, and plugin extension projection.
Use persisted entry fields directly for cost, tokens, and model identity.

listSessionsFromStoreAsync now passes both flags for bulk list rows.
Detail endpoints and single-row loads are unaffected.

Observed improvement on a production install (33 sessions):
sessions.list row construction dropped from ~82s to ~6s.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 803879ec54)
2026-05-02 21:34:29 -07:00
Marvinthebored
4c9a557533 fix(gateway): skip oversized JSONL lines to prevent event-loop starvation
Large transcript JSONL records (multi-MB tool results, file content)
block the event loop via JSON.parse before truncation logic can skip
them. Add a 256 KiB line-size guard to parseTailTranscriptRecord and
extractUsageSnapshotFromTranscriptLine, and replace the full transcript
index scan in readSessionTitleFieldsFromTranscriptAsync with the
existing bounded sync reader.

Observed improvement on a production install (33 sessions):
chat.history dropped from 13-16s to ~1.2s, event loop utilization
from 0.999 to normal, steady-state CPU from ~100% to 0.2-0.3%.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-02 21:34:21 -07:00
Vincent Koc
d122a3492d fix(gateway): preserve oversized transcript tree leaves 2026-05-02 21:31:53 -07:00
Omar Shahine
1a5ad6104d docs(changelog): move file-transfer highlight to Unreleased
The 2026.4.30 changelog section maps to a beta-only tag with no public
release page, so the file-transfer highlight was invisible on the
releases page. Moving to Unreleased so it lands in the next published
release.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 04:30:54 +00:00
Val Alexander
2810f1219a fix(ui): surface compaction checkpoints in chat history
Fixes #76415.

- Explains compacted history boundaries in WebChat.
- Adds an Open checkpoints action for pre-compaction recovery.
- Updates WebChat docs and changelog with Thanks @BunsDev.
- Validated targeted UI tests, formatting/diff checks, Testbox changed gate, and exact-head CI.

Security: UI/docs/tests/styles-only change that reuses existing checkpoint APIs; no new dependencies, filesystem reads, workflow changes, or secret handling.
2026-05-02 23:29:28 -05:00
Val Alexander
85c000de1e fix: keep ClawHub publish dry-run preflight
Preserve the ClawHub CLI dry-run preflight while making the printed publish preview include CLAWHUB_WORKDIR. Add regression coverage that stubs the ClawHub CLI and verifies --dry-run is forwarded through the publish script.
2026-05-02 23:27:44 -05:00
Vincent Koc
b258c3fc65 fix(secretrefs): preserve exec resolver env 2026-05-02 21:21:51 -07:00
clawsweeper[bot]
d04a8976b1 fix(feishu): repair media-aware message dedupe (#76408)
Summary:
- The PR adds a Feishu-local media-aware dedupe-key helper, wires it through inbound receive/debounce/persistent/broadcast dedupe paths, adds Feishu regression coverage, and adds an Unreleased changelog entry.
- Reproducibility: yes. Source inspection shows a high-confidence path: two Feishu audio events for the same a ... _key` values collide in current-main receive and persistent dedupe before media parsing distinguishes them.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

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

Prepared head SHA: c0229f8a48
Review: https://github.com/openclaw/openclaw/pull/76408#issuecomment-4365292618

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: SymbolStar <24540119+SymbolStar@users.noreply.github.com>
2026-05-03 04:20:02 +00:00
Vincent Koc
a32fe82bd2 fix(gateway): preserve oversized transcript placeholders 2026-05-02 21:16:16 -07:00
Ayaan Zaidi
e8756d99ae Preserve delivered assistant replies in session repair (#76420)
Summary:
- The PR removes session-file repair's trailing-assistant disk trim, updates regression coverage, clarifies transcript hygiene docs, and adds a changelog entry for the Telegram/WebChat history loss fix.
- Reproducibility: yes. Current main has a clear source path: a normal trailing assistant JSONL record is popped by `repairSessionFileIfNeeded`, and the main-branch test suite asserts that deletion.

Automerge notes:
- PR branch already contained follow-up commit before automerge: docs(agents): clarify session repair preservation
- PR branch already contained follow-up commit before automerge: fix(agents): preserve delivered assistant replies in session repair

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

Prepared head SHA: 66c187fd76
Review: https://github.com/openclaw/openclaw/pull/76420#issuecomment-4365323320

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-03 04:04:11 +00:00
NVIDIAN
6a3f5d0b1f fix(cli): reject missing plugin ids before config writes (#73554)
Merged via squash.

Prepared head SHA: f0d3e61de2
Co-authored-by: ai-hpc <183861985+ai-hpc@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-05-03 11:49:14 +08:00
NVIDIAN
c81c0171cd fix(cli): block gateway-owned package updates (#75819)
Merged via squash.

Prepared head SHA: acdf73e6d0
Co-authored-by: ai-hpc <183861985+ai-hpc@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-05-03 11:40:36 +08:00
Peter Steinberger
55c738ad4b build(protocol): refresh Swift gateway models 2026-05-03 04:37:08 +01:00
Peter Steinberger
0135071833 fix(xai): allow slower image edits 2026-05-03 04:34:21 +01:00
Josh Avant
ba31afb099 fix(discord): surface stalled transport health (#76327)
* fix(discord): surface stalled transport health

* fix(discord): surface stalled transport health

* fix(discord): surface stalled transport health

---------

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-02 22:33:19 -05:00
Peter Steinberger
9891f30422 test(e2e): relax kitchen-sink diagnostic exhaustiveness 2026-05-03 04:25:15 +01:00
buyitsydney
5f5e0a3633 fix(memory): retry reindex on socket errors (#76311)
Summary:
- The PR broadens memory-core's embedding retry classifier for socket/network errors, adds focused classifier tests, and adds an Unreleased changelog fix.
- Reproducibility: yes. Current main's retry classifier rejects the socket/fetch samples, and the reindex embedding path delegates to that classifier; a read-only regex probe confirmed the PR accepts the target samples.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): retry reindex on socket errors

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

Prepared head SHA: b4618c4532
Review: https://github.com/openclaw/openclaw/pull/76311#issuecomment-4364956064

Co-authored-by: buyitsydney <buyitsydney@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-03 03:21:06 +00:00
Peter Steinberger
31ed93ff58 test(codex): accept current status prose 2026-05-03 04:13:17 +01:00
Vincent Koc
23e0be355a fix(gateway): bound async session list transcript reads
Keep async sessions.list title/preview hydration on bounded transcript head/tail reads instead of full transcript index builds.

Validation:
- pnpm test:serial src/gateway/session-utils.fs.test.ts
- pnpm test:serial src/gateway/server.sessions.list-changed.test.ts
- pnpm exec oxfmt --check --threads=1 src/gateway/session-utils.fs.ts src/gateway/session-utils.fs.test.ts CHANGELOG.md
- OPENCLAW_TESTBOX=1 pnpm check:changed on tbx_01kqnw1j8japk3d8z24s6cv141
2026-05-02 20:06:20 -07:00
Peter Steinberger
bfee47d321 ci(release): satisfy release smoke lint 2026-05-03 04:05:04 +01:00
Peter Steinberger
468656bc1b ci(release): recover Windows packaged upgrade smoke 2026-05-03 04:02:09 +01:00
Vincent Koc
8151231e0f test(plugins): guard generated inventory coverage 2026-05-02 19:41:29 -07:00
Vincent Koc
2d3aa041c4 docs(plugins): clarify on-demand official inventory 2026-05-02 19:41:29 -07:00
Vincent Koc
9895236ebf test(e2e): surface update channel fixture install logs 2026-05-02 19:41:29 -07:00
Vincent Koc
7886b62c20 fix(release): use bundled channel in activation smoke 2026-05-02 19:41:16 -07:00
Vincent Koc
d002c2f0ee fix(release): raise plugin sdk api check heap 2026-05-02 19:41:16 -07:00
Vincent Koc
474b011ab6 docs(plugins): update npm-first reference pages 2026-05-02 19:41:16 -07:00
Vincent Koc
35d0db29ad docs(plugins): render npm-first install routes 2026-05-02 19:41:16 -07:00
Vincent Koc
82e7accf53 fix(onboarding): default dual-source installs to npm 2026-05-02 19:41:16 -07:00
Vincent Koc
ba3c0fc78e fix(plugins): roll back failed npm install debris 2026-05-02 19:41:16 -07:00
Vincent Koc
006bd56dd6 fix(plugins): trust reviewed official npm launch packages 2026-05-02 19:41:15 -07:00
Peter Steinberger
781c9b7ab0 fix(release): harden package update validation 2026-05-03 03:37:52 +01:00
Peter Steinberger
dda2cf4e73 test(qa-lab): use OpenAI plugin for mock image generation 2026-05-03 03:34:36 +01:00
Vincent Koc
994bfc1cb9 test(e2e): tolerate early runtime deps cleanup 2026-05-02 19:23:10 -07:00
clawsweeper[bot]
cb31616d88 fix(ui): clean up delete confirm popover listener (#76318)
Summary:
- The PR centralizes Control UI chat delete-confirm popover dismissal, adds listener-cleanup regression coverage and unit-UI test routing fixes, and records the fix in the changelog.
- Reproducibility: yes. Current-main source shows a high-confidence path: open the delete confirm, let `reques ... ncel, Delete, or same-button toggle; those paths remove the popover without removing the document listener.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(ui): clean up delete confirm popover listener
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-7559…
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): reconcile automerge-openclaw-openclaw-75590 with ma…
- PR branch already contained follow-up commit before automerge: fix(ui): repair delete confirm listener cleanup checks

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

Prepared head SHA: 62240d8153
Review: https://github.com/openclaw/openclaw/pull/76318#issuecomment-4364990281

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: Ricardo-M-L <69202550+Ricardo-M-L@users.noreply.github.com>
2026-05-03 02:21:10 +00:00
Tak Hoffman
f74983e442 fix(memory): preserve active recall tool agent context (#76380)
Summary:
- The PR threads the embedded run's trusted requester agent id into plugin tool context and memory-core tool availability/execution, adds regression tests, and records an Active Memory changelog fix.
- Reproducibility: yes. Current main shows Active Memory passing a synthetic `:active-memory:` session key plu ... ently derive memory scope from the session key; I did not run the regression test in this read-only review.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

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

Prepared head SHA: 33ab3d7fc7
Review: https://github.com/openclaw/openclaw/pull/76380#issuecomment-4365186657

Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-05-03 02:16:48 +00:00
Peter Steinberger
31161abd40 chore(release): bump version to 2026.5.3 2026-05-03 03:08:47 +01:00
clawsweeper[bot]
c149046c45 fix(gateway,agent): only enforce session sendPolicy=deny when delivering (#76317)
Summary:
- This PR gates gateway `agent` send-policy rejection on `request.deliver === true`, adds denied non-delivery  ... plicit-delivery regression coverage, updates a gateway chat expectation, and adds a #73381 changelog entry.
- Reproducibility: yes. from source inspection: current main resolves `sendPolicy` and rejects before delivery ... agent` request with `deliver` omitted or false. I did not run local tests because this review is read-only.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(gateway,agent): only enforce session sendPolicy=deny when delivering

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

Prepared head SHA: 5cfcb1c584
Review: https://github.com/openclaw/openclaw/pull/76317#issuecomment-4364987993

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: wenxu007 <270593229+wenxu007@users.noreply.github.com>
2026-05-03 02:05:23 +00:00