Commit Graph

50887 Commits

Author SHA1 Message Date
zhengzuo0-ai
1fbb4e4e6a ui: highlight WebChat code blocks (#83569)
Summary:
- The PR adds highlight.js-backed WebChat code-block highlighting, scoped token CSS, regression tests, a type shim, and a direct UI dependency.
- Reproducibility: not applicable. as a bug reproduction; this is a feature addition. The feature gap is source-evident because current main renders code blocks as escaped plaintext without hljs token markup.

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

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

Prepared head SHA: 7bb95c47ed
Review: https://github.com/openclaw/openclaw/pull/83569#issuecomment-4476990135

Co-authored-by: zhengzuo0-ai <zheng.zuo0@gmail.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-18 16:53:24 +00:00
Firas Alswihry
46c622aa3b test(qa-lab): add dreaming shadow trial report scenario 2026-05-19 00:44:39 +08:00
Ayaan Zaidi
3fb5b4bec9 docs(changelog): note telegram native progress drafts (#83622) (thanks @akrimm702) 2026-05-18 22:14:30 +05:30
Ayaan Zaidi
890139f998 refactor(telegram): simplify native draft progress path 2026-05-18 22:14:30 +05:30
Alexander Krimm
0802a10273 fix(config): scope native telegram preview config 2026-05-18 22:14:30 +05:30
Alexander Krimm
f199cec885 docs(telegram): clarify native draft progress config 2026-05-18 22:14:30 +05:30
Alexander Krimm
a433cef05f fix(telegram): gate native tool progress drafts 2026-05-18 22:14:30 +05:30
Alexander Krimm
7cc4258dd5 feat(telegram): use native DM drafts for tool progress 2026-05-18 22:14:30 +05:30
Tak Hoffman
e4fba78d81 fix(ci): honor exact-head proof verdicts (#83688) 2026-05-18 11:39:30 -05:00
clawsweeper[bot]
9dc7bd4d05 fix(memory-wiki): make wiki_lint tool output path-safe (#83687)
Summary:
- The PR updates the memory-wiki `wiki_lint` tool to show vault-relative lint report paths in tool text and details, keeps the core linter/CLI result absolute, adds regression coverage, and adds a changelog entry.
- Reproducibility: yes. there is a high-confidence source reproduction path: current main returns the linter's ... tPath` in `wiki_lint` text and raw details. I did not execute the harness because this review is read-only.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory-wiki): make wiki_lint tool output path-safe

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

Prepared head SHA: df5c7db151
Review: https://github.com/openclaw/openclaw/pull/83687#issuecomment-4479682214

Co-authored-by: LLagoon3 <choonarm3@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-18 16:34:11 +00:00
nv-kasikritc
38f11a0844 feat(nvidia): tag NIM request origin (#81524) 2026-05-18 09:25:24 -07:00
Dallin Romney
cf194419c3 ci(proof): skip real-behavior-proof gate for private maintainers (#83418)
* ci(proof): trust maintainer label for private org members

Private organization memberships report author_association=CONTRIBUTOR
on PRs, so the real-behavior-proof gate currently demands proof from
maintainers whose membership is private. The labeler workflow already
applies the 'maintainer' label via the team-membership API (which sees
private members), so treat that label as an equivalent privileged
signal in evaluateRealBehaviorProof.

* ci(proof): drop noisy comments

* ci(proof): check maintainer team membership via GitHub App token

Replace the label-based private-maintainer skip with a direct
getMembershipForUserInOrg call using a minted GitHub App token, mirroring
the pattern labeler.yml already uses for the same lookup. Removes the
race against the labeler workflow and the implicit dependency on the
'maintainer' label having landed first.

The App-token steps are continue-on-error so the gate still runs (using
the existing author_association path) when the App key secrets are
absent or both mints fail.

* ci(proof): narrow App token to members:read

ClawSweeper review #83418: actions/create-github-app-token defaults to
the full installation permission set, but the proof gate only needs the
org-members read scope used by teams.getMembershipForUserInOrg. Set
permission-members: read on both the primary and fallback mint steps.

* docs(changelog): private maintainers skip the real-behavior-proof gate
2026-05-18 09:22:59 -07:00
Elarwei
9657b8e8ce fix(image-generate): allow distinct active image requests (#83614)
Summary:
- This PR prompt-scopes `image_generate` duplicate detection, adds same-prompt and distinct-prompt regression tests, and updates task guardrail docs and changelog.
- Reproducibility: yes. Current-main source shows the duplicate guard runs before prompt parsing and active lookup ignores prompt identity, matching the linked distinct-second-image failure mode.

Automerge notes:
- PR branch already contained follow-up commit before automerge: docs(tasks): clarify image generation guardrail
- PR branch already contained follow-up commit before automerge: fix(image-generate): allow distinct active image requests

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

Prepared head SHA: 9f19a96427
Review: https://github.com/openclaw/openclaw/pull/83614#issuecomment-4478236891

Co-authored-by: Elarwei <elarweis@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-18 16:01:12 +00:00
Ted Li
fffb8c9e2c fix(lmstudio): resolve env-template API keys (#80568)
Merged via squash.

Prepared head SHA: 03224c8c27
Co-authored-by: MonkeyLeeT <6754057+MonkeyLeeT@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-05-18 23:46:10 +08:00
yaoyi1222
023e33cb07 fix(transcript): skip trailing custom entries in tail assistant reader (#83427) (#83635)
Summary:
- The branch updates the transcript tail assistant reader to skip trailing non-message rows, adds cache-ttl gap-fill regression tests, and adds a changelog entry.
- Reproducibility: yes. Source inspection shows cache-ttl custom rows can sit after the canonical assistant me ... r stops on that row; the PR body also supplies a concrete live three-turn CLI reproduction after the patch.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(transcript): skip trailing custom entries in tail assistant reade…

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

Prepared head SHA: 866aa27ca8
Review: https://github.com/openclaw/openclaw/pull/83635#issuecomment-4478637780

Co-authored-by: yaoyi1222 <yaoyi_1222@163.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-18 15:43:09 +00:00
Ayaan Zaidi
98256b192b fix(mantis): suppress auto no-proof comments 2026-05-18 21:11:21 +05:30
Jai Govindani
8c2a390fbc fix(cron): link isolated task runs to cron session (#83606)
Summary:
- The PR updates cron timer task-run creation to derive `childSessionKey` for isolated agent-turn jobs from the stable cron session key, adds focused timer coverage, and records the fix in the changelog.
- Reproducibility: yes. Current main's timer task creation copies only `job.sessionKey`, while isolated cron e ... Id>:cron:<jobId>` later; the supplied before-test output matches that source path by receiving `undefined`.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(cron): link isolated task runs to cron session

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

Prepared head SHA: 748998b018
Review: https://github.com/openclaw/openclaw/pull/83606#issuecomment-4478039217

Co-authored-by: Jai Govindani <jai.g@ewa-services.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-18 15:39:56 +00:00
Ayaan Zaidi
4af590a5f8 docs(changelog): note Telegram transcript mirror fix (#83631) (thanks @kurplunkin) 2026-05-18 20:46:58 +05:30
Tyler Bea
03c303d953 fix(telegram): avoid progress transcript mirrors 2026-05-18 20:46:58 +05:30
Arulprashath
27c7e1e07b Fix sidebar tree collapse not hiding child items (#42223)
Merged via squash.

Prepared head SHA: a6bf8f4511
Co-authored-by: Aroool <90670606+Aroool@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-05-18 18:08:47 +03:00
Coy Geek
516356835d fix: Admin HTTP RPC can execute against another live gateway instance (#83487)
* fix(ar-gdn-cross-gateway-admin-rpc-context-confusion): apply security fix

Generated by staged fix workflow.

* fix(ar-gdn-cross-gateway-admin-rpc-context-confusion): apply security fix

Generated by staged fix workflow.

* fix(gateway): bind plugin HTTP dispatch to server context

* fix(gateway): scope dynamic plugin HTTP routes

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-18 15:59:28 +01:00
Peter Steinberger
cce00498cd fix(doctor): preserve legacy Claude CLI runtime intent 2026-05-18 15:58:55 +01:00
Peter Steinberger
ae29d14abf test: speed up slow test fixtures 2026-05-18 15:55:40 +01:00
Peter Steinberger
13deea2a9d fix(macos): normalize settings pane margins 2026-05-18 15:37:36 +01:00
Krzysztof Probola
1912be8619 fix(codex): complete dynamic tool diagnostics
fix(codex): complete dynamic tool diagnostics

Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-18 15:37:24 +01:00
Peter Steinberger
c49d909b60 fix(slack): persist inbound delivery dedupe 2026-05-18 15:28:07 +01:00
Peter Steinberger
f0b43bfd34 fix(ci): restore release e2e checks 2026-05-18 15:20:27 +01:00
yetval
1b82c0e3d9 fix(followup,reply): stop model-fallback retries duplicating session entries
Follow-up and main reply paths re-entered each embedded fallback candidate
with the same queued transcript prompt. After the first candidate persisted
that queued user message, later candidates appended it again. Failed
embedded candidates could also persist an assistant error stub on each
retry, leaving same-role transcript runs that downstream providers reject.

The fallback callers now keep two persistence latches for one fallback run:
queuedUserMessagePersistedAcrossFallback flips from onUserMessagePersisted,
and assistantErrorPersistedAcrossFallback flips only after the session guard
actually persists an assistant stopReason="error" message. Later candidates
suppress only the entries that were already written, so CLI or otherwise
non-persisting failures do not hide the first embedded error separator.

Plumb the assistant-error persistence callback through the embedded runner,
attempt params, and session guard wrapper. Add guard and runner regression
tests for all-embedded fallback retries and CLI-to-embedded fallback.

Closes #83404
2026-05-18 15:01:46 +01:00
Peter Steinberger
4f4d108639 chore(lint): remove underscore-dangle allow list (#83542)
* chore(lint): reduce underscore-dangle exceptions

* chore(lint): reduce more underscore exceptions

* chore(lint): remove underscore-dangle allow list

* fix(lint): repair underscore cleanup regressions

* test(lint): track version define suppression
2026-05-18 14:56:06 +01:00
jasonyliu
5613f5fd05 fix(gateway): clear CLI bindings on session reset
Clear stale CLI provider resume bindings when a normal gateway session is reset, while preserving spawned subagent bindings.

Also isolate target normalization in the outbound source-delivery unit test so the CI shard does not load provider/plugin runtime state for a pure matcher case.

Co-authored-by: psyphix-claw <262498103+psyphix-claw@users.noreply.github.com>
2026-05-18 14:51:05 +01:00
LLagoon3
35cd2af159 Expose reload kind in config schema lookup (#81612)
Merged via squash.

Prepared head SHA: 9517cfa718
Co-authored-by: LLagoon3 <115124830+LLagoon3@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-05-18 16:39:12 +03:00
Yao
6a5a1353c7 fix(agents): skip fallback for session coordination errors
Preserve provider fallback metadata when session coordination errors are nested under provider failures.

Co-authored-by: luyao618 <364939526@qq.com>
2026-05-18 14:30:58 +01:00
Peter Steinberger
220d3ec26f docs: clarify formatter-friendly code shape 2026-05-18 14:26:00 +01:00
LLagoon3
bf95f762b5 fix(gateway): rotate failed sessions with missing transcripts 2026-05-18 14:19:40 +01:00
tanshanshan
40a5942091 fix(memory): keep qmd archived session hits visible
Keep QMD-exported archived session transcript hits visible by resolving QMD `.md` archive stems back to their live session ids before applying session visibility policy. Preserve normal markdown session ids that only resemble archive names, reject ambiguous slug fallback matches, and keep deleted same-agent QMD archives readable when the live store entry is gone.

Fixes #83506.

Co-authored-by: tanshanshan <tanshanshan@users.noreply.github.com>
2026-05-18 14:15:30 +01:00
Nimrod Gutman
b823a5a266 fix(ios): improve live activity lifecycle (#83597)
Merged via squash.

Prepared head SHA: 6bd991dafb
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Reviewed-by: @ngutman
2026-05-18 16:11:54 +03:00
Nimrod Gutman
29f39db857 fix(whatsapp): lower upload-file media sends (#81883)
Merged via squash.

Prepared head SHA: 3b2ae9c80d
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Reviewed-by: @ngutman
2026-05-18 16:09:24 +03:00
Ayaan Zaidi
651ec2027d fix(android): isolate timed out permission requests 2026-05-18 18:32:58 +05:30
Ayaan Zaidi
4f5e817782 fix(android): escape call log like filters 2026-05-18 18:32:58 +05:30
Ayaan Zaidi
d204ec0cc9 style(android): fix voice ktlint formatting 2026-05-18 18:32:58 +05:30
Ayaan Zaidi
4712931e71 fix(android): filter unsafe markdown links 2026-05-18 18:32:58 +05:30
Ayaan Zaidi
ce039eb103 fix(android): bound inline chat image payloads 2026-05-18 18:32:58 +05:30
Ayaan Zaidi
d43f2f73f7 fix(android): reject unsupported gateway schemes 2026-05-18 18:32:58 +05:30
Ayaan Zaidi
db2858cec7 fix(android): shorten talk mode final wait 2026-05-18 18:32:58 +05:30
Ayaan Zaidi
ae25afdb62 fix(android): reset wake command dedupe per cycle 2026-05-18 18:32:58 +05:30
Ayaan Zaidi
022a422755 fix(android): try final scaled jpeg size 2026-05-18 18:32:58 +05:30
Ayaan Zaidi
f1f92b8656 fix(android): restart gateway session on reconnect 2026-05-18 18:32:57 +05:30
Ayaan Zaidi
5fb9c0c937 fix(mantis): crop telegram proof chat pane 2026-05-18 18:30:36 +05:30
Peter Steinberger
880b39f061 refactor(messages): clarify Codex source delivery defaults (#83602) 2026-05-18 13:59:05 +01:00
Peter Steinberger
d29f77bece docs(agents): prefer cleaner code shape 2026-05-18 13:51:21 +01:00