Commit Graph

75429 Commits

Author SHA1 Message Date
Shakker f4e332a72e fix: tighten Buzz mention disambiguation 2026-08-02 10:30:32 +01:00
Shakker 6d7e371b0e perf: keep Buzz plain sends on the fast path 2026-08-02 10:30:32 +01:00
Shakker fe6960342f fix: reject unresolved Buzz mention text 2026-08-02 10:30:32 +01:00
Shakker 4c6e1f0d4c fix: resolve non-ASCII Buzz member mentions 2026-08-02 10:30:32 +01:00
Shakker c8d5d8ea34 fix: satisfy strict Buzz mention resolution 2026-08-02 10:30:32 +01:00
Shakker 0ee44d551a feat: guide Buzz room targeting and mentions 2026-08-02 10:30:32 +01:00
Shakker 12b924c4d0 test: cover Buzz mention boundaries 2026-08-02 10:30:32 +01:00
Shakker 09bdcf3eb1 fix: resolve Buzz mentions on reply delivery 2026-08-02 10:30:32 +01:00
Shakker 8fb9dcd54e feat: emit native Buzz mention tags 2026-08-02 10:30:32 +01:00
Shakker c4d355133f feat: resolve Buzz room member mentions 2026-08-02 10:30:31 +01:00
Dallin Romney af77477a2a fix(qa): generated-image evidence waits despite successful delivery (#117799)
* fix(qa): observe generated images from outbound media

* fix(qa): preserve generated image producer evidence
2026-08-02 17:24:35 +08:00
Peter Steinberger 8404f5fee3 test(gateway): mock orphan recovery in startup proof (#117922)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 02:22:36 -07:00
Dallin Romney 652b0b96e2 qa: deduplicate producer and fallback evidence (#117806) 2026-08-02 17:20:32 +08:00
Dallin Romney 44dc286ce7 fix(qa): use canonical service identity for update restart (#117814) 2026-08-02 17:18:01 +08:00
Peter Steinberger a5b8b7052b fix(ui): preserve advanced cron delivery settings when cloning (#117909)
* refactor(ui): consolidate task and log contracts

* fix(cron): preserve advanced delivery routing

* refactor(ui): share relative-time bucketing

* fix(ui): retain narrow cron view types

* fix(ui): keep cron form field keys total

* style(ui): use narrowed task result boolean
2026-08-02 02:13:38 -07:00
clawsweeper[bot] c8688051ed fix(whatsapp): log terminal inbound media failures (#117717)
* fix(whatsapp): log terminal inbound media failures

* fix(whatsapp): log terminal inbound media failures

* fix(whatsapp): surface media enrichment failures

* test(whatsapp): preserve caught media errors

---------

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 17:13:16 +08:00
Peter Steinberger d6aafb3dfc refactor(whatsapp): split inbox lifecycle coverage (#117910)
* test(whatsapp): split inbox lifecycle coverage

* test(whatsapp): import metadata cache type
2026-08-02 02:09:47 -07:00
Peter Steinberger a0d4aa3466 test(agents): consolidate agent test clusters (#117912) 2026-08-02 02:06:05 -07:00
Peter Steinberger 0138f5b5e3 fix: stop lost cancellations, false success, and stuck Codex compaction (#117902)
* fix(inference): preserve cancellation, lifecycle, and Codex completion ownership

* test(qa): settle visible replies on the active channel transport
2026-08-02 02:03:57 -07:00
Peter Steinberger 83fa625fb6 fix(cli): reject incomplete hosted video downloads (#117893)
* fix(cli): validate streamed video downloads

* test: repair CLI and plugin test gates
2026-08-02 02:03:37 -07:00
Peter Steinberger d5f265f245 refactor(board): remove duplicate in-memory store (#117353) 2026-08-02 02:02:49 -07:00
Peter Steinberger a154b4faea refactor: consolidate Teams and error helpers (#117907) 2026-08-02 02:02:17 -07:00
zengLingbiao 83c6a51b0e fix(msteams): cancel unread Graph error response bodies (#117664)
* fix(msteams): cancel unread Graph error response bodies

* fix(msteams): release every guarded Graph response safely

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-02 17:01:30 +08:00
Yuval Dinodia 86c3486721 fix(imessage): rewind the recovery cursor when chat.db is replaced at the same path (#117788)
* fix(imessage): rewind the recovery cursor when chat.db is replaced at the same path

A restored, rebuilt, or symlink-retargeted chat.db keeps the configured
pathname, so it keeps the same recovery-cursor identity while its rowid
sequence restarts far below the persisted high-water. Startup then seeded
since_rowid with the stale value and imsg, which emits only rows above it,
suppressed every inbound message in the replacement database, including
messages arriving after the restart.

loadIMessageRecoveryCursor now takes the startup watermark and reconciles
the stored cursor against it. A cursor above the database's current
MAX(ROWID) cannot belong to the file now at that path, so the persisted
high-water rewinds to the new watermark and the monitor tails the
replacement database instead of skipping it.

* fix(imessage): rewind the recovery cursor for an empty rebuilt chat.db

A successful MAX(ROWID) on an empty message table yields null, the same value the watermark read returns for an unreadable database, so an empty rebuilt chat.db kept the stale high-water and suppressed its first rows. Return 0 for a readable empty table and keep null for an unavailable one.

* fix(imessage): preserve first row during empty database startup

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-02 17:00:01 +08:00
Peter Steinberger f599ff520d feat(browser): relay CDP compat for Puppeteer clients (chrome-devtools-mcp) (#117915)
* feat(browser): relay CDP compat for Puppeteer clients

Answer Target.getBrowserContexts with the always-empty context list so
puppeteer.connect() (chrome-devtools-mcp) can drive the paired Chrome
through the extension relay without the remote-debugging prompt. Serve
DevTools-style /json/list descriptors (id + type), which also makes the
HTTP tab-list fallback see extension-profile tabs, and add
`openclaw browser extension cdp` to print the relay endpoint and auth
header for external CDP clients.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(browser): avoid map-spread in relay target descriptors

oxc(no-map-spread): build the /json/list descriptor object explicitly
instead of spreading RelayTabInfo inside map().

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-02 01:59:44 -07:00
chenyangjun-xy 54a3387a96 fix(model-catalog): decode hosted model catalog bundles with fatal UTF-8 validation (#117744)
* fix(model-catalog): reject malformed UTF-8 in hosted catalog bundles

* test(model-catalog): preserve stored catalog on invalid UTF-8

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-02 16:54:29 +08:00
Dallin Romney 2b5f9ce8a4 fix(ci): support older performance targets (#117800) 2026-08-02 16:53:15 +08:00
qingminlong 3b238128b2 fix: keep rendered message media counts consistent (#117850) 2026-08-02 16:50:39 +08:00
Vincent Koc fcaa9d4842 Merge pull request #117896 from openclaw/fix/google-realtime-tool-ownership-20260802 2026-08-02 16:40:44 +08:00
Peter Steinberger 81f82c69dc fix(auth): preserve cooldown fallback state (#117846)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 01:37:38 -07:00
sunlit-deng 9517b10778 fix(hooks): show eventless status consistently (#116127)
* fix(hooks): show eventless status consistently

* fix(hooks): preserve disabled hook status compatibility

Co-authored-by: sunlit-deng <yang.jiajun1@xydigit.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-02 01:24:28 -07:00
Vincent Koc ca950bcb39 chore: defer realtime ownership release note 2026-08-02 16:20:51 +08:00
Peter Steinberger 6b625357fc refactor(cli): consolidate security-sensitive regression fixtures (#114411)
* refactor(cli): consolidate security-sensitive regression fixtures

* refactor(cli): refresh fixture cleanup against main
2026-08-02 01:19:59 -07:00
Peter Steinberger 76ec39556e perf(plugins): list from installed metadata (#117900) 2026-08-02 01:18:40 -07:00
Peter Steinberger f5c985d92c fix(memory): remove interrupted Dreaming sessions after Gateway restart (#117885)
* fix(memory): clean interrupted Dreaming sessions after Gateway restart

* test(sessions): preserve historical timestamps in lifecycle fixtures

* test(plugins): remove duplicate registry handle mock from main

* style(sessions): format lifecycle conformance assertion
2026-08-02 01:17:31 -07:00
Peter Steinberger 26cf4e6130 test(gateway): reuse startup plugin metadata snapshot (#117897)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 01:10:31 -07:00
Vincent Koc 764cc2c909 test(talk): satisfy Google ownership lint 2026-08-02 16:10:22 +08:00
Vincent Koc 8bb3e2c1d5 fix(talk): satisfy Google tool owner contracts 2026-08-02 16:03:57 +08:00
Vincent Koc 8fb98084d0 fix(talk): stop Google calls after overflow 2026-08-02 15:59:47 +08:00
Vincent Koc ecc7a2fd9d fix(talk): cancel relay-owned realtime consults 2026-08-02 15:59:47 +08:00
Vincent Koc 66e8a6b28b fix(talk): bound Google Live browser tool ownership 2026-08-02 15:59:47 +08:00
Vincent Koc 5be95ad4ba fix(google): bound native realtime tool ownership 2026-08-02 15:59:47 +08:00
Peter Steinberger 86a95b459c test: consolidate agent tool suites (#117886)
* test(agents): consolidate agent tool suites

* test(agents): fix consolidated suite lint

* test(plugins): remove duplicate loader mock
2026-08-02 00:58:35 -07:00
Peter Steinberger 37de5678ca fix: remove duplicate plugin CLI registry mock (#117894)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 00:57:57 -07:00
Vincent Koc b620caabcb Merge pull request #117490 from codex/qa402-google-live-session-activation-deadline
fix(google): honor Gemini Live new-session activation deadlines
2026-08-02 15:50:02 +08:00
Peter Steinberger 9fd56e6d65 fix(gateway): resume shared terminal after slow viewer leaves (#117847)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 00:42:51 -07:00
Peter Steinberger 1e9a620a28 refactor(gateway): remove deferred channel load flag; 503 plugin routes until runtime ready (#117852)
* refactor(gateway): remove deferred channel load flag; 503 plugin routes until runtime ready

* test(agents): make setup middleware load intent explicit

* test(gateway): pin webhook startup routing outside SPA
2026-08-02 00:36:21 -07:00
Peter Steinberger 81031012b2 test(agents): consolidate OpenClaw tool suites (#117870)
* test(agents): consolidate OpenClaw tool suites

* test(agents): align session status fixture types

* test(agents): satisfy media fixture lint
2026-08-02 00:29:28 -07:00
Vincent Koc 134dcac3c0 fix(ci): repair release validation regressions (#117723)
* test(plugins): mock scoped registry handles

* fix(gateway): prepare dynamic tool model context

* test(gateway): satisfy release static gates

* fix(gateway): reuse async model context for MCP tools

* test(gateway): satisfy async context static checks

* refactor(gateway): keep sync model context private

* fix(gateway): reuse effective tool model context

* fix(gateway): lease read-only model runtime

* fix(gateway): preserve empty model context resolution

* test(gateway): type empty model context fixture

* fix(gateway): resolve sandbox model context
2026-08-02 15:27:46 +08:00
Peter Steinberger 7b10ebc43c fix(media): reject empty generated assets (#117875) 2026-08-02 00:25:12 -07:00