Commit Graph

40362 Commits

Author SHA1 Message Date
Marvinthebored
803879ec54 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>
2026-05-03 11:09:43 +08:00
Marvinthebored
a58624293b 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-03 11:01:41 +08: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
Vincent Koc
3d64fcaf1f test(plugins): align persisted registry snapshot assertion 2026-05-02 18:55:47 -07:00
Vincent Koc
a89b0dda2f docs(config): refresh generated baseline hash 2026-05-02 18:50:23 -07:00
Vincent Koc
d520fa6229 test(e2e): stop probing ClawHub for npm installs 2026-05-02 18:43:01 -07:00
clawsweeper[bot]
00de585574 fix(gateway): preserve err.stack when chat.send/agent attachment parsing fails (#76351)
Summary:
- Adds stack-preserving gateway error logging for `chat.send` and agent attachment parse/stage failures, focused tests, and an Unreleased changelog entry.
- Reproducibility: yes. for the diagnostic gap: current main shows both affected catches returning `String(err ... g `Error` or `MediaOffloadError` values. I did not reproduce the separate iPad/Tailscale RangeError itself.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(gateway): preserve err.stack when chat.send/agent attachment pars…

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

Prepared head SHA: 0e9bd18b31
Review: https://github.com/openclaw/openclaw/pull/76351#issuecomment-4365116612

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: keen0206 <233564226+keen0206@users.noreply.github.com>
2026-05-03 01:40:27 +00:00
Vincent Koc
4ae9ae12b6 test(e2e): fix kitchen sink crabbox coverage (#76287)
* test(e2e): fix kitchen sink crabbox coverage

* test(e2e): update kitchen sink expected diagnostics

* fix(plugins): harden registry and package gates

* fix(plugins): load lazy tool middleware snapshots

* fix(ci): satisfy crabbox branch gates

* fix(plugins): await guarded fetch cleanup
2026-05-02 18:39:26 -07:00
Vincent Koc
d7dbf11504 fix(plugins): preserve npm plugin installs across repairs 2026-05-02 18:31:59 -07:00
clawsweeper[bot]
e8df05ed4f fix(slack): enable preview streaming in flat DMs (replyToMode: off) (#76330)
Summary:
- The PR enables Slack draft preview streaming for flat DMs in all non-off modes, updates Slack streaming tests/docs/config metadata/changelog, and refreshes small guard baselines.
- Reproducibility: yes. source-reproducible on current main: the helper returns false for `mode: "partial"` in ...  current test asserts that disabled path. I did not run tests because this review was explicitly read-only.

Automerge notes:
- Ran the ClawSweeper repair loop before final review.
- Included post-review commit in the final squash: fix(slack): enable preview streaming in flat DMs (replyToMode: off)
- Included post-review commit in the final squash: fix(clawsweeper): address review for automerge-openclaw-openclaw-5654…

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

Prepared head SHA: 52e5d74ef9
Review: https://github.com/openclaw/openclaw/pull/76330#issuecomment-4365017023

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: bob <637186+HangGlidersRule@users.noreply.github.com>
2026-05-03 01:30:36 +00:00
Vincent Koc
9765a5777c fix(doctor): defer channel plugin repair during updates 2026-05-02 18:29:57 -07:00
Jason
53bd718a1a fix(cli): avoid model warmup for message actions (#76312)
Summary:
- The PR skips eager context-window warmup for `openclaw message`, forwards Discord/Telegram execution-mode de ... reuses caller-owned manifest metadata during config materialization, and adds tests plus a changelog entry.
- Reproducibility: yes. Source inspection on current main shows `openclaw message` is still eligible for eager context-window warmup and the Discord/Telegram wrappers still drop the gateway execution-mode declarations.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix: type message action routing fallbacks
- PR branch already contained follow-up commit before automerge: docs: credit message latency fix contributor

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

Prepared head SHA: 9606bb27d5
Review: https://github.com/openclaw/openclaw/pull/76312#issuecomment-4364958708

Co-authored-by: FullerStackDev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-05-03 01:26:00 +00:00
Peter Steinberger
13dc14d43e chore(release): update macOS appcast for 2026.5.2 2026-05-03 02:15:13 +01:00
Peter Steinberger
e8f13c625e fix(cli): request admin scope for admin device approvals 2026-05-03 01:38:24 +01:00
Vincent Koc
e1a73d380d test(plugins): require reviewed npm critical findings 2026-05-02 17:35:39 -07:00
Vincent Koc
6548825083 fix(scanner): ignore full-line comments for source rules 2026-05-02 17:35:39 -07:00
Vincent Koc
52cd76a9e2 fix(providers): isolate model discovery test env guards 2026-05-02 17:35:39 -07:00
Vincent Koc
4be4c475ea fix(scanner): ignore benign member exec matches 2026-05-02 17:35:38 -07:00
Vincent Koc
3c8de6eb72 fix(qqbot): keep platform debug logging import 2026-05-02 17:35:38 -07:00
Vincent Koc
8409dbddd6 test(plugins): avoid release script imports in npm scan 2026-05-02 17:35:38 -07:00
Vincent Koc
85520f664d fix(qqbot): remove native ffmpeg subprocess fallback 2026-05-02 17:35:38 -07:00
Vincent Koc
d1c5e750ed fix(tlon): drop bundled cli tool wrapper 2026-05-02 17:35:37 -07:00
Vincent Koc
366f1ea706 fix(msteams): use manual delegated oauth setup 2026-05-02 17:35:37 -07:00
Vincent Koc
eb907508e8 test(ci): keep npm scan on plugin prerelease 2026-05-02 17:35:37 -07:00
Vincent Koc
8ec589c9be test(plugins): scan publishable npm packages 2026-05-02 17:35:37 -07:00
Vincent Koc
f2e342b82e fix(doctor): defer missing plugin payload repair during update 2026-05-02 17:34:46 -07:00
clawsweeper[bot]
004e871656 fix(cron): route CLI-runtime cron models through compatible backend (#76319)
Summary:
- The PR routes isolated cron executions through compatible configured CLI runtimes, threads agent identity into cron model selection, adds cron regression coverage, and records a changelog fix.
- Reproducibility: yes. The source PR describes cron jobs for agents with agentRuntime.id="claude-cli" selecti ... howing those canonical Anthropic attempts execute through claude-cli while OpenAI overrides stay on OpenAI.

ClawSweeper fixups:
- Included follow-up commit: fix(cron): route CLI-runtime cron models through compatible backend
- Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7584…
- Ran the ClawSweeper repair loop before final review.

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

Prepared head SHA: ba2781de8f
Review: https://github.com/openclaw/openclaw/pull/76319#issuecomment-4364991459

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: vishutdhar <68405187+vishutdhar@users.noreply.github.com>
2026-05-03 00:31:31 +00:00
Vincent Koc
06cdb17ad2 test(memory): keep promotion signal fixture inside age window 2026-05-02 17:21:59 -07:00
Vincent Koc
4026af1a8b fix(doctor): reinstall missing configured plugin payloads 2026-05-02 17:21:07 -07:00
clawsweeper[bot]
10c9200f75 [AI-assisted] fix(feishu): probe status with account credentials (#76321)
Summary:
- The PR resolves Feishu setup/status probes through the selected/default account, adds a multi-account regression test, and adds an Unreleased changelog fix entry.
- Reproducibility: yes. Current main can be checked by calling the Feishu setup-status adapter with a config t ... hannels.feishu.accounts.<id>; the status path passes accountId but Feishu currently ignores it for probing.

ClawSweeper fixups:
- Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7406…
- Included follow-up commit: [AI-assisted] fix(feishu): probe status with account credentials
- Ran the ClawSweeper repair loop before final review.

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

Prepared head SHA: 427e8e8b07
Review: https://github.com/openclaw/openclaw/pull/76321#issuecomment-4364994746

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: brokemac79 <255583030+brokemac79@users.noreply.github.com>
2026-05-03 00:19:36 +00:00
Vincent Koc
bcfa5bc32b test(active-memory): avoid wall-clock fragile terminal recall assertions 2026-05-02 17:11:55 -07:00
Val Alexander
a81c7f5d32 fix(pr): prefer verified GitHub commits for prep pushes (#76323) thanks @BunsDev
Route maintainer prepare pushes through GitHub createCommitOnBranch by default so PR repair branches do not accumulate unsigned git-protocol commits. Keeps git-protocol pushes behind an explicit override.
2026-05-02 19:11:04 -05:00
clawsweeper[bot]
afe42fc977 fix(e2e): escape Windows stale update import regex (#75315) thanks @steipete
Fix the Windows stale-import guard regex used by the Parallels npm update smoke path, with related maintainer-flow and regression-test cleanup preserved on a verified branch.
2026-05-02 19:10:44 -05:00
Paul Frederiksen
f30dc0aeb4 fix(cron): persist manual run ids in history (#76288)
Summary:
- The PR carries manual `cron.run` acknowledgement IDs into finished cron events and `cron.runs` history, upda ...  surfaces, adds regression coverage, refreshes the SDK baseline hash, and records the fix in the changelog.
- Reproducibility: yes. Current main can be reproduced by source inspection: `cron.run` returns a `manual:...` ... r path omits it; the PR adds targeted assertions for the missing correlation and the task-ledger invariant.

ClawSweeper fixups:
- Included follow-up commit: chore(protocol): update generated cron models
- Included follow-up commit: chore(cron): document manual run id protocol surface
- Included follow-up commit: Preserve cron task ledger run IDs

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

Prepared head SHA: 04ce879858
Review: https://github.com/openclaw/openclaw/pull/76288#issuecomment-4364868383

Co-authored-by: Paul Frederiksen <paul@paulfrederiksen.com>
2026-05-03 00:06:32 +00:00