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)
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>
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>
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.
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.
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>
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>
* 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>
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>
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>
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>
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>
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>
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>
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>