Commit graph

75065 commits

Author SHA1 Message Date
wangmiao0668000666
ebb301c32d
fix(moonshot): forward abort signal through Kimi web search provider (#105125) 2026-08-01 13:01:40 -07:00
Peter Steinberger
81e392b7ff
fix(channels): preserve filters in offline status diagnostics (#117570)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 12:58:23 -07:00
Vincent Koc
04ac671de6
perf(gateway): separate startup maintenance timing (#117577) 2026-08-02 03:56:51 +08:00
Peter Steinberger
182be0f7c1
refactor(tests): deduplicate database-first guard fixtures (#117594) 2026-08-01 12:55:30 -07:00
zengLingbiao
37e7307b01
fix(cli): align sessions cleanup label summary by visible width (#117459) 2026-08-01 12:52:30 -07:00
Vincent Koc
27b1d04178
perf(gateway): skip empty session reconciliation (#117589)
* perf(gateway): skip empty session reconciliation

* chore(release): remove branch-local changelog entry
2026-08-02 03:47:49 +08:00
Peter Steinberger
26aa884c69
refactor(ui): consolidate cron form control rendering (#117576) 2026-08-01 12:41:34 -07:00
Vincent Koc
2f92c17db6
fix(ui): bound realtime Talk conversation text (#117581)
* commit '07822aaefd':
  fix(ui): preserve Talk transcript surrogate bounds
  fix(ui): harden Talk transcript marker bounds
  test(ui): cover bounded realtime Talk entries
  fix(ui): bound realtime Talk conversation text
2026-08-02 03:40:30 +08:00
Peter Steinberger
165c968f95
fix(memory): recover restored session freshness (#117548) 2026-08-01 12:39:24 -07:00
Peter Steinberger
7c9794b5c6
fix(whatsapp): normalize future-proof QA poll and video note ingress (#117579)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 12:30:49 -07:00
Vincent Koc
6531ca91f4
fix(perf): separate warm and first-device health probes (#117525)
* fix(perf): separate warm and first-device health probes

* fix(perf): configure first-device health probe

* fix(perf): require connected health probes

* fix(perf): preserve generic health benchmark state
2026-08-02 03:30:17 +08:00
Vincent Koc
936c9c7e2d
fix(openai): copy queued realtime audio buffers (#117028)
* commit '7facf157e6':
  test(openai): parse realtime websocket frames safely
  fix(openai): own queued realtime audio buffer snapshots
2026-08-02 03:29:43 +08:00
Vincent Koc
acf28495b1
fix(ci): repair plugin prerelease validation (#117562) 2026-08-02 03:29:21 +08:00
Vincent Koc
3b70c3535f
fix(ui): stop Talk microphone polling after session cleanup (#117573)
* commit 'b71c9b69b1':
  test(ui): cover reentrant Talk meter cleanup
  fix(ui): reclaim reentrant Talk audio meters
2026-08-02 03:27:44 +08:00
Peter Steinberger
2a5a64b51f
fix(tasks): sanitize every human task and flow detail (#117568)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 12:26:58 -07:00
zengLingbiao
1a0d3b5c40
fix(feishu): cancel unread streaming-card error bodies before release (#117312) 2026-08-01 12:26:27 -07:00
Peter Steinberger
c263c273c7
fix(status): honor explicit local RPC fallback timeouts (#117519)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 12:20:31 -07:00
Vincent Koc
07822aaefd
fix(ui): preserve Talk transcript surrogate bounds 2026-08-02 03:19:48 +08:00
Peter Steinberger
4d6a63b7ee
fix(tasks): validate notification policy before persistence (#117554)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 12:18:11 -07:00
Peter Steinberger
bf99e43ee7
refactor: consolidate full release child workflows (#117385) 2026-08-01 12:14:23 -07:00
Vincent Koc
35799b63f9
chore: refresh Talk conversation text cap from main
* origin/main:
  refactor(policy): centralize doctor health-check descriptors (#117578)
  perf(gateway): mark recovery before model preparation (#117544)
  fix(openai): keep embedding identity stable across upgrades (#117557)
  fix(googlechat): drop invalid thread resource names before send (#108324)
  fix(skills): preserve profile in ClawHub command hints (#117555)
  fix(cli): explain filtered plugin policy without unsafe recovery (#117556)
  fix(irc): strip markdown from outbound text (#112961)
2026-08-02 03:09:59 +08:00
Peter Steinberger
c5090b9cf5
refactor(policy): centralize doctor health-check descriptors (#117578)
Some checks are pending
Native App Locale Refresh / Refresh native fr (push) Blocked by required conditions
Native App Locale Refresh / Refresh native hi (push) Blocked by required conditions
Native App Locale Refresh / Refresh native id (push) Blocked by required conditions
Native App Locale Refresh / Refresh native it (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ja-JP (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ko (push) Blocked by required conditions
Native App Locale Refresh / Refresh native nl (push) Blocked by required conditions
Native App Locale Refresh / Refresh native pl (push) Blocked by required conditions
Native App Locale Refresh / Refresh native pt-BR (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ru (push) Blocked by required conditions
Native App Locale Refresh / Refresh native sv (push) Blocked by required conditions
Native App Locale Refresh / Refresh native th (push) Blocked by required conditions
Native App Locale Refresh / Refresh native tr (push) Blocked by required conditions
Native App Locale Refresh / Refresh native uk (push) Blocked by required conditions
Native App Locale Refresh / Refresh native vi (push) Blocked by required conditions
Native App Locale Refresh / Refresh native zh-CN (push) Blocked by required conditions
Native App Locale Refresh / Refresh native zh-TW (push) Blocked by required conditions
Native App Locale Refresh / Commit native locale refresh (push) Blocked by required conditions
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Blocked by required conditions
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Waiting to run
Plugin Init Scaffold Validation / Validate provider scaffold (push) Waiting to run
Plugin NPM Release / preview_plugins_npm (push) Waiting to run
Plugin NPM Release / Validate release publish approval (push) Blocked by required conditions
Plugin NPM Release / preview_plugin_pack (push) Blocked by required conditions
Plugin NPM Release / Preflight plugin npm package () (push) Blocked by required conditions
Plugin NPM Release / publish_plugins_npm (push) Blocked by required conditions
Plugin NPM Release / verify_plugins_npm (push) Blocked by required conditions
Workflow Sanity / no-tabs (push) Waiting to run
Workflow Sanity / actionlint (push) Waiting to run
Workflow Sanity / generated-doc-baselines (push) Waiting to run
2026-08-01 12:09:52 -07:00
Vincent Koc
ebf121af6a
perf(gateway): mark recovery before model preparation (#117544)
* perf(gateway): keep recovery runtime off startup path

* perf(gateway): mark recovery before model preparation

* test(gateway): lock recovery marking failure order
2026-08-02 03:06:19 +08:00
Vincent Koc
b71c9b69b1
Merge remote-tracking branch 'origin/main' into fix/talk-audio-meter-reentrant-stop-20260801
* origin/main:
  fix(openai): keep embedding identity stable across upgrades (#117557)
  fix(googlechat): drop invalid thread resource names before send (#108324)
  fix(skills): preserve profile in ClawHub command hints (#117555)
  fix(cli): explain filtered plugin policy without unsafe recovery (#117556)
  fix(irc): strip markdown from outbound text (#112961)
2026-08-02 03:03:52 +08:00
Vincent Koc
a7c52ef6c1
fix(ui): harden Talk transcript marker bounds 2026-08-02 03:02:21 +08:00
Vincent Koc
7facf157e6
test(openai): parse realtime websocket frames safely 2026-08-02 02:59:32 +08:00
Peter Steinberger
71b35c3e1d
fix(openai): keep embedding identity stable across upgrades (#117557)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 11:59:31 -07:00
Javier Ailbirt
7563e40e47
fix(googlechat): drop invalid thread resource names before send (#108324)
Reply routing can hand sendGoogleChatMessage a `thread` that is not a
valid `spaces/{space}/threads/{thread}` resource name — a bare id, a
`spaces/{space}/messages/{message}` name, or a thread from a different
(or wrongly-cased) space. The Chat API rejects the whole request with
`400 INVALID_ARGUMENT`, so the reply is never delivered even though the
agent already produced it (and did any side effects).

Guard the send so the `thread` field and the messageReplyOption fallback
are applied only when the thread is a well-formed name belonging to the
target space; otherwise post to the space as a new thread. Revives the
approach of #28153 (auto-closed as stale) and addresses the failure mode
behind #64313.
2026-08-01 11:59:08 -07:00
Peter Steinberger
1e9a140520
fix(skills): preserve profile in ClawHub command hints (#117555)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 11:57:20 -07:00
Peter Steinberger
b0ec8bbdfa
fix(cli): explain filtered plugin policy without unsafe recovery (#117556)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 11:55:59 -07:00
RileyJJY
9a120f364f
fix(irc): strip markdown from outbound text (#112961) 2026-08-01 11:55:52 -07:00
Vincent Koc
0a3a348bbe
chore: merge main into Talk conversation text cap
* origin/main:
  refactor(plugins): consolidate registry snapshots (#117561)
  fix(plugins): fail blocked enable commands (#117536)
  test(secrets): dedupe runtime state fixtures (#117563)
2026-08-02 02:55:39 +08:00
Vincent Koc
74858fa463
test(ui): cover bounded realtime Talk entries 2026-08-02 02:55:33 +08:00
Vincent Koc
a984930448
Merge remote-tracking branch 'origin/main' into fix/talk-audio-meter-reentrant-stop-20260801
* origin/main:
  refactor(plugins): consolidate registry snapshots (#117561)
  fix(plugins): fail blocked enable commands (#117536)
  test(secrets): dedupe runtime state fixtures (#117563)
2026-08-02 02:55:10 +08:00
Peter Steinberger
063907e970
refactor(plugins): consolidate registry snapshots (#117561) 2026-08-01 11:53:50 -07:00
Vincent Koc
bb21c89b19
fix(ui): bound realtime Talk conversation text 2026-08-02 02:48:55 +08:00
Vincent Koc
b9a84f49a9
test(ui): cover reentrant Talk meter cleanup 2026-08-02 02:48:24 +08:00
Peter Steinberger
f35c34343a
fix(plugins): fail blocked enable commands (#117536)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 11:48:24 -07:00
Vincent Koc
02eb798857
fix(ui): reclaim reentrant Talk audio meters 2026-08-02 02:48:20 +08:00
Peter Steinberger
c5dd9c3095
test(secrets): dedupe runtime state fixtures (#117563) 2026-08-01 11:48:07 -07:00
Vincent Koc
3aa43c7fba
chore: merge main into realtime audio ownership fix
* origin/main: (491 commits)
  feat(gateway): advertise chat attachment limits on hello-ok (#116188)
  fix(ui): preserve full graphemes in session owner initials (#117350)
  refactor(tui): consolidate runtime ownership (#117368)
  fix(update): return failure when dirty checkout blocks update (#117452)
  fix(auto-reply): apply mixed chat directives in one session transaction (#117542)
  refactor(ui): unify channel status and setup controls (#117499)
  fix(doctor): preserve surviving lint selections (#117543)
  fix(media): keep an unquoted MEDIA path with spaces as one media item (#112464)
  refactor(channels): consolidate lightweight plugin discovery (#117541)
  fix(imessage): prevent duplicate messages after delayed sends (#110853)
  refactor(memory): unify authoritative dreaming state and presentation (#117538)
  refactor(agents): consolidate main-session recovery ownership (#117383)
  fix(proxy-capture): make path-based session cleanup atomic (#98852)
  refactor(agents): consolidate compaction and context-engine ownership (#117482)
  fix(gateway): preserve Responses usage details (#117533)
  perf(gateway): skip empty session recovery stores (#117498)
  fix(ci): update canonical Kova performance pin (#117508)
  fix(system-agent): emit the wizard cancel hint once per message (#113731)
  refactor: dedupe secrets runtime snapshot fixtures (#117502)
  test(google): cover ready callback close precedence
  ...
2026-08-02 02:41:51 +08:00
Vincent Koc
560eda25b0
test(memory): isolate mocked embedding providers (#117551)
* commit '7795d902f7':
  test(memory): isolate mocked embedding providers
2026-08-02 02:36:12 +08:00
Vincent Koc
f4253da3e4
fix(docker): keep helper test portable on macOS (#117526)
* commit 'a164d9c477':
  test(docker): make line count assertion portable
2026-08-02 02:33:08 +08:00
Omar Shahine
a624ba7b96
feat(gateway): advertise chat attachment limits on hello-ok (#116188)
* feat(gateway): advertise chat attachment limits on hello-ok

Clients had no way to learn the gateway attachment ceilings, so external
clients hardcoded guesses that drifted from server enforcement. Publish the
two unconditional decoded-size ceilings on hello-ok policy.attachments from
one shared resolver so advertised values cannot drift from the parser.

MIME acceptance and per-message counts stay server-side: they depend on the
entrypoint, the resolved model, and payload sniffing, so they cannot be stated
once per connection.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 17d6c355-8948-4b48-a936-e08b1c8806ef

* feat(gateway): advertise chat attachment limits on hello-ok

---------

Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Copilot-Session: 17d6c355-8948-4b48-a936-e08b1c8806ef
2026-08-01 11:31:29 -07:00
zengLingbiao
b340e682a2
fix(ui): preserve full graphemes in session owner initials (#117350) 2026-08-01 11:22:30 -07:00
Peter Steinberger
d876a83387
refactor(tui): consolidate runtime ownership (#117368) 2026-08-01 11:21:48 -07:00
Vincent Koc
7795d902f7
chore: merge main into memory test isolation fix
* origin/main: (35 commits)
  fix(update): return failure when dirty checkout blocks update (#117452)
  fix(auto-reply): apply mixed chat directives in one session transaction (#117542)
  refactor(ui): unify channel status and setup controls (#117499)
  fix(doctor): preserve surviving lint selections (#117543)
  fix(media): keep an unquoted MEDIA path with spaces as one media item (#112464)
  refactor(channels): consolidate lightweight plugin discovery (#117541)
  fix(imessage): prevent duplicate messages after delayed sends (#110853)
  refactor(memory): unify authoritative dreaming state and presentation (#117538)
  refactor(agents): consolidate main-session recovery ownership (#117383)
  fix(proxy-capture): make path-based session cleanup atomic (#98852)
  refactor(agents): consolidate compaction and context-engine ownership (#117482)
  fix(gateway): preserve Responses usage details (#117533)
  perf(gateway): skip empty session recovery stores (#117498)
  fix(ci): update canonical Kova performance pin (#117508)
  fix(system-agent): emit the wizard cancel hint once per message (#113731)
  refactor: dedupe secrets runtime snapshot fixtures (#117502)
  test(google): cover ready callback close precedence
  test(openai): dedupe realtime voice fixtures (#117503)
  fix(google): flush lazy prompts on provider readiness
  fix(gateway): keep canonical hooks on pristine startup path (#117493)
  ...
2026-08-02 02:21:19 +08:00
Vincent Koc
a164d9c477
chore: merge main into Docker portability fix
* origin/main: (26 commits)
  fix(update): return failure when dirty checkout blocks update (#117452)
  fix(auto-reply): apply mixed chat directives in one session transaction (#117542)
  refactor(ui): unify channel status and setup controls (#117499)
  fix(doctor): preserve surviving lint selections (#117543)
  fix(media): keep an unquoted MEDIA path with spaces as one media item (#112464)
  refactor(channels): consolidate lightweight plugin discovery (#117541)
  fix(imessage): prevent duplicate messages after delayed sends (#110853)
  refactor(memory): unify authoritative dreaming state and presentation (#117538)
  refactor(agents): consolidate main-session recovery ownership (#117383)
  fix(proxy-capture): make path-based session cleanup atomic (#98852)
  refactor(agents): consolidate compaction and context-engine ownership (#117482)
  fix(gateway): preserve Responses usage details (#117533)
  perf(gateway): skip empty session recovery stores (#117498)
  fix(ci): update canonical Kova performance pin (#117508)
  fix(system-agent): emit the wizard cancel hint once per message (#113731)
  refactor: dedupe secrets runtime snapshot fixtures (#117502)
  test(google): cover ready callback close precedence
  test(openai): dedupe realtime voice fixtures (#117503)
  fix(google): flush lazy prompts on provider readiness
  fix(gateway): keep canonical hooks on pristine startup path (#117493)
  ...
2026-08-02 02:20:18 +08:00
WhatsSkiLL
428a9e9cbc
fix(update): return failure when dirty checkout blocks update (#117452)
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com>
2026-08-01 11:11:19 -07:00
Vincent Koc
83e8033ac6
fix(google): preserve realtime prompts during startup (#117529)
* commit 'd60584ee2d':
  test(google): cover ready callback close precedence
  fix(google): flush lazy prompts on provider readiness
  test(google): prove lazy realtime prompt delivery
  fix(google): bound lazy realtime user messages
2026-08-02 02:10:29 +08:00