Commit Graph

59313 Commits

Author SHA1 Message Date
clawsweeper[bot]
5ce413a2c7 fix(i18n): retain Codex error tails in logs (#93687)
Summary:
- This PR changes the docs i18n Codex command-output preview to keep a short head plus retained tail, and adds Go unit coverage for stdout and stderr tails.
- PR surface: Other +20. Total +20 across 2 files.
- Reproducibility: yes. Source inspection of current main and `v2026.6.6` shows long output is truncated to the prefix only, and the PR's focused tests model the stdout/stderr tail cases that lose final API details.

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

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

Prepared head SHA: b510b598c6
Review: https://github.com/openclaw/openclaw/pull/93687#issuecomment-4720840859

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: Mason Huang <8814856+hxy91819@users.noreply.github.com>
Approved-by: hxy91819
2026-06-16 16:14:12 +00:00
Alix-007
3630ce6cbb fix(agents): return string assistant content in getLastAssistantText (#93646)
* fix(agents): handle string assistant content in getLastAssistantText

PR #93456 added an `if (!Array.isArray(message.content)) return false` guard
to hasAssistantToolCallArguments, acknowledging that a persisted/legacy
assistant message can carry a string `content` at runtime even though the
type is declared as an array. buildSessionContext pushes such entries through
unchanged, so the string can reach agent.state.messages.

getLastAssistantText() still assumed an array: iterating a string `content`
yields individual characters, none of which has `type === "text"`, so the
assistant's text was silently dropped and the function returned undefined.

Mirror extractTextContent(): when `content` is a string, treat it as the text
itself; otherwise iterate the content blocks as before. The aborted/empty
check is left untouched because `.length === 0` is already correct for both an
empty array and an empty string.

* fix(agents): safely read persisted assistant text

---------

Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com>
2026-06-16 23:57:28 +08:00
Vincent Koc
64785823d0 fix(gateway): ignore stale sudo scope for root user services (#93693)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-06-16 23:56:12 +08:00
Vincent Koc
6e3ebaccf0 fix(telegram): dispatch MEDIA directives as attachments (#93690)
* fix(telegram): deliver MEDIA directive replies as attachments

* fix(clownfish): address review for gitcrawl-167-autonomous-terminal-gap (1)

---------

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-06-16 23:52:59 +08:00
liuhao1024
a67ae8137d fix(reply): preserve unsent text-only finals after block pipeline streamed partial content (fixes #81078) (#93629)
When the block reply pipeline streamed partial content, buildReplyPayloads()
unconditionally dropped all text-only final payloads. This suppressed the
complete final reply when the pipeline only streamed a partial block and
never sent the exact final text.

The fix checks hasSentPayload() for text-only payloads too, preserving
unsent finals instead of dropping them unconditionally.
2026-06-16 23:49:12 +08:00
pick-cat
a6b348a307 fix(control-ui): copy code blocks over plain HTTP via clipboard fallback (#93666)
The async Clipboard API is only available in secure contexts (HTTPS or
localhost). On plain-HTTP deployments navigator.clipboard is undefined, so the
code block copy button threw synchronously and silently failed. Add a shared
copyToClipboard helper that guards the secure-context path and falls back to the
legacy execCommand copy, reuse it for the code block button and the copy-as-
markdown affordance, and cover it with a unit test plus a real-browser e2e that
simulates the non-secure context.

Fixes #93628

Co-authored-by: Pick-cat <266665499+Pick-cat@users.noreply.github.com>
2026-06-16 23:47:03 +08:00
Vincent Koc
f285a0c4c4 fix(ci): fail unusable Windows testbox phone-home 2026-06-16 17:24:18 +02:00
Vincent Koc
05584427a8 fix(deps): update Hono security pin
Update the global Hono override and published shrinkwraps to 4.12.25 so release packages avoid the current high-severity CORS advisory.
2026-06-16 23:12:39 +08:00
Mason Huang
f046d7aa23 fix(status): ignore stale context after model switch (#93306)
Summary:
- The PR changes `/status` context-window selection to ignore stale runtime snapshots after manual model switches while preserving fallback/runtime-alias context windows.
- PR surface: Source +6, Tests +128. Total +134 across 2 files.
- Reproducibility: yes. source-reproducible: current main trusts explicit runtime context before checking fall ... fer. I did not run a local failing repro, but the PR fixture models the stale prior-runtime state directly.

Automerge notes:
- PR branch already contained follow-up commit before automerge: test(status): make context fixtures type-correct

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

Prepared head SHA: f14fda4279
Review: https://github.com/openclaw/openclaw/pull/93306#issuecomment-4708596208

Co-authored-by: Mason Huang <masonxhuang@tencent.com>
Approved-by: hxy91819
2026-06-16 15:05:51 +00:00
Vincent Koc
de1d329e31 fix(plugins): allow Dreaming sidecar through restrictive memory allowlists (#93678)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: pradeep7127 <21005375+pradeep7127@users.noreply.github.com>
2026-06-16 23:02:15 +08:00
Vincent Koc
75cdf22152 fix(browser): accept top-level act fields with nested requests (#93674)
* fix(browser): accept top-level act fields with nested requests

Co-authored-by: Capivariano <11271294+angelusbr@users.noreply.github.com>

* fix(clownfish): address review for gitcrawl-416-autonomous-terminal-gap (1)

Co-authored-by: Capivariano <11271294+angelusbr@users.noreply.github.com>

---------

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: Capivariano <11271294+angelusbr@users.noreply.github.com>
2026-06-16 22:50:53 +08:00
Vincent Koc
acc375ff75 fix(commands): preserve multiline slash skill args (#93672)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: Blind Dev <264741654+web3blind@users.noreply.github.com>
2026-06-16 22:47:15 +08:00
Vincent Koc
e48222175f fix(browser): recover stale managed Chrome CDP listener (#93670)
* fix(browser): recover stale managed Chrome CDP listener

Co-authored-by: Rohit <76606932+rohitjavvadi@users.noreply.github.com>

* fix(clownfish): address review for gitcrawl-387-autonomous-terminal-gap (1)

Co-authored-by: Rohit <76606932+rohitjavvadi@users.noreply.github.com>

---------

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: Rohit <76606932+rohitjavvadi@users.noreply.github.com>
2026-06-16 22:45:21 +08:00
Vincent Koc
1fc04ac6e3 fix(ios): satisfy watch screenshot SwiftFormat 2026-06-16 16:24:32 +02:00
Vincent Koc
5939a2ac9f fix(clawdock): open dashboard on published port without starting deps (#93663)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: Derek Homan <205598+dhoman@users.noreply.github.com>
2026-06-16 22:24:00 +08:00
Vincent Koc
6656c71c7a fix(discord): protect mention aliases in code fences (#93662)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: Rohit <76606932+rohitjavvadi@users.noreply.github.com>
2026-06-16 22:22:02 +08:00
github-actions[bot]
8c7690b256 chore(ui): refresh fa control ui locale 2026-06-16 14:18:52 +00:00
github-actions[bot]
7c314e1504 chore(ui): refresh nl control ui locale 2026-06-16 14:18:27 +00:00
github-actions[bot]
6ab41d50d4 chore(ui): refresh th control ui locale 2026-06-16 14:17:41 +00:00
github-actions[bot]
f95ca1de26 chore(ui): refresh vi control ui locale 2026-06-16 14:17:28 +00:00
github-actions[bot]
cb811d4650 chore(ui): refresh pl control ui locale 2026-06-16 14:17:25 +00:00
github-actions[bot]
45343f5d64 chore(ui): refresh id control ui locale 2026-06-16 14:17:01 +00:00
github-actions[bot]
ab71827cf3 chore(ui): refresh uk control ui locale 2026-06-16 14:16:05 +00:00
github-actions[bot]
7e46326d21 chore(ui): refresh tr control ui locale 2026-06-16 14:15:59 +00:00
github-actions[bot]
c861730047 chore(ui): refresh it control ui locale 2026-06-16 14:15:55 +00:00
github-actions[bot]
5dee1eefb7 chore(ui): refresh ar control ui locale 2026-06-16 14:15:45 +00:00
github-actions[bot]
8fc5911e21 chore(ui): refresh fr control ui locale 2026-06-16 14:14:42 +00:00
github-actions[bot]
d344dcbd91 chore(ui): refresh ko control ui locale 2026-06-16 14:14:38 +00:00
github-actions[bot]
4e3d2ff79b chore(ui): refresh es control ui locale 2026-06-16 14:14:27 +00:00
github-actions[bot]
3e2e3dfa92 chore(ui): refresh ja-JP control ui locale 2026-06-16 14:14:22 +00:00
github-actions[bot]
f11bf1ed42 chore(ui): refresh pt-BR control ui locale 2026-06-16 14:13:29 +00:00
github-actions[bot]
47ce7bc581 chore(ui): refresh zh-TW control ui locale 2026-06-16 14:13:20 +00:00
github-actions[bot]
e1770b041c chore(ui): refresh zh-CN control ui locale 2026-06-16 14:13:14 +00:00
github-actions[bot]
d3c86f96af chore(ui): refresh de control ui locale 2026-06-16 14:13:09 +00:00
Vincent Koc
ea6704319a fix(ui): localize Talk error dismiss label 2026-06-16 16:08:00 +02:00
Vincent Koc
61b104cf73 fix(codex): expose remote node exec as a Codex dynamic tool (#93654)
* fix(codex): expose remote node exec as a Codex dynamic tool

* fix(clownfish): address review for gitcrawl-170-autonomous-terminal-gap (1)

---------

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-06-16 22:06:29 +08:00
Vincent Koc
a9df801902 fix(skill-workshop): skip helper sessions during auto-capture (#93653)
* fix(skill-workshop): skip helper sessions during auto-capture

Co-authored-by: zhang-guiping <275915537+zhangguiping-xydt@users.noreply.github.com>

* fix(clownfish): address review for gitcrawl-164-autonomous-terminal-gap (1)

Co-authored-by: zhang-guiping <275915537+zhangguiping-xydt@users.noreply.github.com>

---------

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: zhang-guiping <275915537+zhangguiping-xydt@users.noreply.github.com>
2026-06-16 22:05:23 +08:00
joshavant
6b3e23aba7 chore(ios): capture watch now face screenshot 2026-06-16 15:59:02 +02:00
joshavant
4542d3914c chore(ios): remove review information metadata 2026-06-16 15:59:02 +02:00
joshavant
d24a589f1c chore(ios): rename signing repository reference 2026-06-16 15:59:02 +02:00
joshavant
0af07bb378 chore(ios): migrate release signing to fastlane match 2026-06-16 15:59:02 +02:00
Vincent Koc
df8ceb5267 fix(update): avoid per-Node npm prefixes during self-update (#93650)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: Soham Patankar <102520430+yaanfpv@users.noreply.github.com>
2026-06-16 21:54:08 +08:00
Vincent Koc
32d1ccd71c test(feishu): reset lifecycle monitor state 2026-06-16 15:44:08 +02:00
Vincent Koc
998445ea20 fix(qwen): place DashScope image prompts in user content (#93649)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-06-16 21:42:59 +08:00
Vincent Koc
5cebe96667 fix(doctor): archive superseded plugin install index conflicts (#93648)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-06-16 21:42:46 +08:00
Colin Johnson
c45c87acca feat(ios): add watch action surface (#93387)
* feat(ios): add watch action surface

* fix: harden watch action surface

* fix: clean watch codegen lint

* fix(ios): scope watch chat commands to gateway

---------

Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com>
2026-06-16 15:22:16 +02:00
liuhao1024
a4d013a9f3 fix(feishu): filter temporary card-action-c-* IDs from reply target to prevent Invalid open_message_id errors (fixes #56818) (#93618)
Merged via squash.

Prepared head SHA: cca7b25384
Co-authored-by: liuhao1024 <11816344+liuhao1024@users.noreply.github.com>
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
Reviewed-by: @vincentkoc
2026-06-16 21:18:05 +08:00
Vincent Koc
9de6a99c8f test(telegram): stabilize spool timeout recovery assertions 2026-06-16 15:11:45 +02:00
zhang-guiping
fa0116b0a0 fix #93044: control-ui webchat double-renders agent replies when dmScope=main (#93298)
Merged via squash.

Prepared head SHA: b7ab9ba0fa
Co-authored-by: zhangguiping-xydt <275915537+zhangguiping-xydt@users.noreply.github.com>
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
Reviewed-by: @vincentkoc
2026-06-16 21:10:00 +08:00
Vincent Koc
49572863d3 fix(telegram): preserve live spool claim owners 2026-06-16 15:03:11 +02:00