Commit Graph

41378 Commits

Author SHA1 Message Date
Peter Steinberger
4fc352403a fix: default Mantis Slack desktop smoke to AWS 2026-05-05 11:19:08 +01:00
Vincent Koc
7c13004883 test(live): skip synthetic auth in provider sweeps 2026-05-05 02:34:54 -07:00
Peter Steinberger
6f6b8fc465 fix(release): accept Docker OCI attestations and xAI reasoning defaults 2026-05-05 10:30:48 +01:00
Peter Steinberger
0283b05d70 fix: harden Mantis Slack desktop gateway proof 2026-05-05 10:27:29 +01:00
Vincent Koc
c3a0fb9325 test(live): bound provider discovery hooks 2026-05-05 02:18:30 -07:00
Vincent Koc
3b1921b543 fix(core): avoid session export filename collisions (#77762) 2026-05-05 02:11:48 -07:00
Vincent Koc
a732208d45 fix(qqbot): avoid log export filename collisions (#77765)
* fix(qqbot): avoid log export filename collisions

* test(qqbot): narrow log export result assertions
2026-05-05 02:11:33 -07:00
Peter Steinberger
6caa365a7a fix: lease Slack credentials for Mantis gateway setup 2026-05-05 10:07:42 +01:00
Vincent Koc
9fa685e3b3 test(live): scope provider auth discovery 2026-05-05 02:03:42 -07:00
Peter Steinberger
678323d013 docs: note windowed crabbox webvnc demos 2026-05-05 10:00:23 +01:00
Alex Knight
cd24da031b feat(plugin-sdk): expose sessionTarget and agentId on cron_changed hook events (#77641) 2026-05-05 18:48:06 +10:00
Vincent Koc
d862e90793 test(live): drop off-only Fireworks Kimi from high-signal sweep 2026-05-05 01:43:22 -07:00
Peter Steinberger
6410743e34 fix: keep Slack Mantis output repo-relative 2026-05-05 09:42:51 +01:00
Vincent Koc
42d8255ce9 fix(tui): bound session list recency (#77752) 2026-05-05 01:25:43 -07:00
Vincent Koc
9c4a335007 test(live): classify provider HTTP 5xx as server drift 2026-05-05 01:06:15 -07:00
Vincent Koc
61383aff4b fix(hooks): avoid session memory filename collisions
Add collision suffixes for session-memory fallback filenames so repeated same-minute reset/new captures do not overwrite earlier archives.
2026-05-05 01:03:59 -07:00
Peter Steinberger
f3d531439b feat: add reusable Mantis evidence publishing 2026-05-05 09:02:04 +01:00
Vincent Koc
5a0d6c7ad8 fix(gateway): keep reset and refresh paths responsive (#77701)
* fix(hooks): keep session memory slugging off reset hot path

* fix(hooks): run session memory capture asynchronously

* fix(cli): avoid stuck gateway command exits

* fix(gateway): cache empty read-only model catalog

* fix(doctor): stop stale TUI clients for WhatsApp responsiveness
2026-05-05 00:59:13 -07:00
Frank Yang
003bed0c03 fix(fireworks): pin Kimi thinking policy off
Add a Fireworks-owned thinking policy for Kimi models so K2.5/K2.6 only expose `off`, keep the bundled provider-policy artifact aligned, and keep request payloads on Fireworks-accepted `thinking: disabled` while stripping rejected `reasoning*` fields.

Refs #74289.
2026-05-05 15:52:56 +08:00
Shakker
89f75263c5 fix: avoid control regex in handoff diagnostics 2026-05-05 08:43:35 +01:00
Shakker
3f9e64869a docs: credit restart handoff diagnostics 2026-05-05 08:38:01 +01:00
Shakker
0720c1f77d fix: sanitize restart handoff diagnostics 2026-05-05 08:38:00 +01:00
Shakker
6d485a9f36 feat: show restart handoffs in doctor 2026-05-05 08:38:00 +01:00
Shakker
9b0afd8141 feat: show restart handoffs in gateway status 2026-05-05 08:38:00 +01:00
Shakker
3e53580d63 refactor: format restart handoff diagnostics 2026-05-05 08:38:00 +01:00
Shakker
4a24b6dbc4 fix: bound restart handoff ttl 2026-05-05 08:38:00 +01:00
Shakker
acb0acd8dd fix: add gateway supervisor restart handoff 2026-05-05 08:38:00 +01:00
Ayu
f9da484365 security: harden gateway container privileges
Adds cap_drop and no-new-privileges hardening for the bundled gateway Docker Compose services.\n\nThanks @VintageAyu.
2026-05-05 00:37:26 -07:00
Chunyue Wang
121ac44fa8 docs(changelog): relocate #77046 and #77280 entries from 2026.5.3 to Unreleased (#77728)
Merged via squash.

Prepared head SHA: 1bd228f6b6
Co-authored-by: openperf <80630709+openperf@users.noreply.github.com>
Co-authored-by: openperf <80630709+openperf@users.noreply.github.com>
Reviewed-by: @openperf
2026-05-05 15:18:20 +08:00
Peter Steinberger
1b81ed6675 docs: reorder unreleased changelog 2026-05-05 08:14:38 +01:00
Ayaan Zaidi
5e9258d0a8 fix: expose ollama thinking profile before activation (#77617) (thanks @yfge) 2026-05-05 12:43:52 +05:30
yfge
7a9efc1389 fix: expose ollama thinking profile before activation
Fixes openclaw/openclaw#77612
2026-05-05 12:43:52 +05:30
Vincent Koc
b8f9137d31 test(gateway): preserve dispatch timers in waiter 2026-05-05 00:07:42 -07:00
Vincent Koc
e2eb5649d1 test(gateway): keep startup context timer live 2026-05-05 00:04:02 -07:00
Peter Steinberger
18405c1acf docs: document cache-friendly activity helper 2026-05-05 08:03:14 +01:00
Peter Steinberger
c2f86598a3 ci: install ffmpeg for Mantis media previews 2026-05-05 08:03:01 +01:00
Ayaan Zaidi
11d2bb19dc fix: avoid impossible device token rotation advice (#77688) (thanks @Conan-Scott) 2026-05-05 12:32:23 +05:30
Clawdbot
eee69aa1bf docs(changelog): note doctor device pairing advice fix 2026-05-05 12:32:23 +05:30
Clawdbot
f5f11b8d0e fix(doctor): avoid impossible device token rotation advice 2026-05-05 12:32:23 +05:30
Peter Steinberger
cbcca6e55f ci: use Crabbox media previews for Mantis 2026-05-05 07:53:47 +01:00
Peter Steinberger
0e7073ad89 docs: filter maintainer-owned triage noise 2026-05-05 07:52:29 +01:00
Peter Steinberger
ecbf9f06e9 test: cover GitHub activity helper 2026-05-05 07:48:29 +01:00
Chunyue Wang
043cb32aab fix(session-file-repair): drop null-role message entries instead of preserving them (#77288)
type:"message" entries with a null, missing, or blank role cannot be
replayed to any provider — every router branches on message.role. The
auto-repair pass was passing them through unchanged, relocating the
corruption from the original file into the post-repair file (#77228
reported 935+ null-role entries surviving the pass).

Add isStructurallyInvalidMessageEntry ahead of the existing rewrite
predicates. Invalid message envelopes are counted as droppedLines and
skipped; non-message envelope types (summary, custom, …) are unaffected.
The .bak-* backup preserves the original bytes for postmortem before any
entries are dropped.

Tests:
- pnpm test src/agents/session-file-repair.test.ts
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/agents/session-file-repair.ts src/agents/session-file-repair.test.ts
- pnpm check:changed

Refs #77228
2026-05-05 14:46:42 +08:00
Peter Steinberger
ea791b3792 fix: prune orphan session artifacts 2026-05-05 07:40:09 +01:00
Peter Steinberger
27b96ae049 perf: reduce GitHub activity cache misses 2026-05-05 07:30:56 +01:00
Ayaan Zaidi
eab494ca6a fix: cache session list model resolution (#77650) (thanks @ragesaq) 2026-05-05 11:56:49 +05:30
Peter Steinberger
7f27c42ebd ci: embed Mantis desktop previews 2026-05-05 07:23:21 +01:00
Chunyue Wang
24bd0b212f fix(replay-history): drop trailing stream-error placeholder before provider send (#77287)
normalizeAssistantReplayContent rewrites empty assistant error turns into
a STREAM_ERROR_FALLBACK_TEXT sentinel to satisfy Bedrock Converse's
non-empty ContentBlock requirement for non-trailing turns. When that
sentinel is the trailing entry, prefill-strict providers reject the
request with "400 This model does not support assistant message prefill.
The conversation must end with a user message." and the session cannot
recover on its own.

Add a post-loop tail trim that drops trailing assistant turns whose
content is empty with stopReason "error" or zero-usage empty stop, or
carries only the sentinel text with the same synthetic provenance. A real
model reply whose content happens to equal the sentinel string is
preserved by requiring zero usage or stopReason "error" before dropping.
The trim catches both the in-memory rewrite shape and the sentinel
persisted to disk by session-file-repair.

Tests:
- pnpm test src/agents/pi-embedded-runner/replay-history.test.ts
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/agents/pi-embedded-runner/replay-history.ts
  src/agents/pi-embedded-runner/replay-history.test.ts
- pnpm check:changed

Refs #77228
2026-05-05 14:14:01 +08:00
clawsweeper[bot]
cd66854b66 feat(cron): add agentId filtering to cron list (#77602)
Summary:
- This PR adds optional `agentId` filtering to `cron.list`, auto-fills it for agent tool calls, exposes `openclaw cron list --agent`, updates generated protocol clients, docs, changelog, tests, and prompt fixtures.
- Reproducibility: yes. The motivating behavior is source-reproducible on current main because cron tool, CLI, ... e list paths do not accept or apply `agentId`; the PR diff adds that path with focused regression coverage.

Automerge notes:
- Ran the ClawSweeper repair loop before final review.
- Included post-review commit in the final squash: chore: regenerate protocol schema after adding agentId to CronListParams
- Included post-review commit in the final squash: feat(cron): add agentId filtering to cron list

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

Prepared head SHA: 35b692bc97
Review: https://github.com/openclaw/openclaw/pull/77602#issuecomment-4375631700

Co-authored-by: zhanggttry <zhanggttry@163.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-05 06:06:24 +00:00
Peter Steinberger
b489a62a06 docs: add GitHub activity helper to maintainer skill 2026-05-05 07:04:16 +01:00