Peter Steinberger
aaf5ab910c
fix: land ten small reliability fixes ( #100483 )
...
* fix(agents): harden LSP process failures
Source: #100450
Co-authored-by: morluto <williamlin1327@gmail.com >
* fix(sandbox): report effective workspace layout
Sources: #100435 , #100439
Co-authored-by: Aniruddha Adak <aniruddhaadak80@users.noreply.github.com >
Co-authored-by: ZengWen-DT <ceng.wen@xydigit.com >
* fix(security): fail install checks on stream errors
Source: #100413
Co-authored-by: 陈宪彪0668000387 <chen.xianbiao@xydigit.com >
* fix(android): normalize all-day calendar events
Source: #100032
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(ios): serialize push-to-talk lifecycle
Source: #99942
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(talk): reject inherited provider names
Source: #99849
Co-authored-by: zenglingbiao <zeng.lingbiao@xydigit.com >
* fix(android): stop voice capture in background
Source: #99840
Co-authored-by: xialonglee <li.xialong@xydigit.com >
* fix(cron): preserve fallback result classification
Source: #99913
Co-authored-by: jincheng-xydt <xu.jincheng@xydigit.com >
* fix(google): bound Vertex response decompression
Source: #99812
Co-authored-by: 黄剑雄0668001315 <huang.jianxiong@xydigit.com >
* fix(plugins): report malformed discovery JSON
Source: #99892
Co-authored-by: 陈宪彪0668000387 <chen.xianbiao@xydigit.com >
* test(sandbox): configure non-default workspace fixture
* test: fix small-fix batch validation
---------
Co-authored-by: morluto <williamlin1327@gmail.com >
Co-authored-by: ZengWen-DT <ceng.wen@xydigit.com >
Co-authored-by: 陈宪彪0668000387 <chen.xianbiao@xydigit.com >
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
Co-authored-by: zenglingbiao <zeng.lingbiao@xydigit.com >
Co-authored-by: xialonglee <li.xialong@xydigit.com >
Co-authored-by: jincheng-xydt <xu.jincheng@xydigit.com >
Co-authored-by: 黄剑雄0668001315 <huang.jianxiong@xydigit.com >
2026-07-06 00:08:51 +01:00
Vincent Koc
8ec5e06cbf
fix(realtime): filter malformed provider tool names ( #89175 )
...
* fix(realtime): filter malformed provider tool names
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
* chore: defer realtime tools changelog
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-05 22:25:24 +01:00
Peter Steinberger
5e0504aa43
feat(ui): simplify Talk settings ( #100453 )
...
Co-authored-by: Peter Steinberger <steipete@openai.com >
2026-07-05 21:31:52 +01:00
Peter Steinberger
c757675f34
improve: keep isolated tests under one second ( #100019 )
...
* test: speed up isolated test suite
* test: finish isolated latency cleanup
* test: eliminate remaining isolated latency spikes
* test: remove final isolated timing outliers
* test: bound full-suite tooling processes
* test: bound native test process lifetime
* test: warm isolated runtime suites
* test: eliminate final isolated timing outliers
* test: fix isolated timing fixture types
* test: make timeout cleanup timing deterministic
* test: pin media manifests to source checkout
* test: isolate provider manifest contracts
* test: eliminate residual isolated timing spikes
* test: restore final isolated timing fixes
* test: eliminate remaining isolated timing spikes
* test: warm Zalo lifecycle imports
* test: keep isolated suites below one second
* test: use readable browser response fixtures
2026-07-05 10:57:19 -07:00
Peter Steinberger
1349027171
fix(google): normalize Live function declarations ( #100260 )
...
Co-authored-by: happydog-bot <bot@happydog.digital >
2026-07-05 06:08:23 -07:00
Peter Steinberger
614e87cce1
chore: update dependencies ( #100027 )
2026-07-04 14:56:50 -04:00
mushuiyu886
6207a4e75b
fix(google): bound OAuth token error response reads ( #99605 )
...
* fix(google): bound OAuth token error response reads
* test(google): consolidate OAuth error cases
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 16:00:01 -07:00
Ted Li
d259496425
fix(google): rotate Gemini API keys for LLM requests ( #97328 )
...
* fix(google): rotate Gemini API keys for LLM requests
* fix(google): scope Gemini key rotation to official endpoint
* fix(google): require HTTPS for Gemini key rotation
* fix(google): preserve explicit stream auth headers
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 14:28:55 -07:00
Dallin Romney
de34dfdbe8
refactor(plugins): consolidate record guards ( #99361 )
2026-07-02 22:12:53 -07:00
Dallin Romney
8c5f45fc36
refactor(shared): consolidate provider and utility lazy loaders ( #98749 )
...
* refactor(shared): consolidate provider lazy loaders
* refactor(shared): leave enforcement to follow-up
2026-07-02 21:16:26 -07:00
Ayaan Zaidi
5fc9b20d24
fix(gemini): stage CLI auth inside run queue
...
Fixes #98945
2026-07-02 08:49:40 -07:00
snowzlmbot
b63e06f68a
fix(llm): preserve structured tool result replay
...
Preserve structured tool-result replay text across provider transports while keeping provider-facing redaction and Anthropic media ordering intact.
Thanks @snowzlmbot!
2026-06-30 23:44:02 -07:00
Vincent Koc
66e676d29b
chore(release): close out 2026.6.11 on main
2026-06-30 11:31:08 -07:00
wangmiao0668000666
a6aaba76ac
fix(google): bound OAuth response body reads
2026-06-28 21:49:13 -07:00
NIO
91297bf420
fix(google): bound embedding-batch JSON response reads ( #97535 )
...
* fix(google): bound embedding-batch JSON response reads
* fix(google): repair embedding-batch test types and lint
---------
Co-authored-by: NIO <nocodet@mail.com >
2026-06-28 14:20:28 -07:00
mushuiyu886
5ccfc97b31
fix(google): bound TTS success JSON response reads ( #96984 )
2026-06-27 07:00:36 -07:00
mushuiyu886
a7bfc06f45
fix(google-media): bound JSON response reads ( #96920 )
...
* fix(google-media): bound JSON response reads
* test(google): relax media response cap assertion
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-06-27 06:46:58 -07:00
Peter Steinberger
56259606d1
fix(agent-core): ignore truncated tool calls ( #97140 )
...
* fix(agent-core): ignore truncated tool calls
Co-authored-by: Galin Iliev <5711535+galiniliev@users.noreply.github.com >
* fix(agent-core): require explicit tool-call terminals
---------
Co-authored-by: Galin Iliev <5711535+galiniliev@users.noreply.github.com >
2026-06-27 03:31:42 +01:00
NIO
527f8f0cbb
fix(image-gen): bound image generation provider JSON response reads ( #96495 )
...
* fix(image-gen): bound image generation provider JSON response reads
Route success JSON reads through readProviderJsonResponse (16 MiB cap)
in openrouter, google, fal, minimax, openai, and vydra image generation
providers to prevent OOM from oversized or hostile endpoint responses.
Mirrors the response-limit campaign already applied to other provider paths.
AI-assisted.
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix(image-gen): size bounded JSON caps for inline image payloads
Signed-off-by: sallyom <somalley@redhat.com >
---------
Signed-off-by: sallyom <somalley@redhat.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: sallyom <somalley@redhat.com >
2026-06-26 07:08:30 -04:00
Alix-007
bfc33ac114
fix(google): bound video success response ( #96605 )
2026-06-25 13:41:35 -04:00
Vincent Koc
0671c08900
chore(release): close out 2026.6.10 on main ( #96271 )
...
* chore(release): close out 2026.6.10 on main
* chore(release): align native app metadata for 2026.6.10
* chore(release): sync Android 2026.6.10 notes
* docs(changelog): preserve 2026.6.9 history
* docs(changelog): preserve 2026.6.9 history
2026-06-24 11:51:14 +08:00
Patrick Erichsen
0feffda3fc
fix(plugins): remove simpleicons icon color paths ( #95987 )
2026-06-23 12:16:02 -07:00
Sunjae Kim
f0a2ba0584
Fix Gemini day freshness time range handling ( #95682 )
...
Merged via squash.
Prepared head SHA: f6038b3a33
Co-authored-by: Sunjae-k <52808029+Sunjae-k@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-23 14:19:25 +08:00
Patrick Erichsen
0a97f73402
feat: add bundled plugin icon manifest URLs ( #95845 )
2026-06-22 22:14:18 -07:00
Vincent Koc
77d0deedf2
improve: speed up provider tool-call streaming ( #95957 )
...
Merged via squash.
Prepared head SHA: d8f510757b
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-23 12:28:24 +08:00
Zechen Wang
4d636335db
fix(google): add gemini-3.5-flash model catalog entry ( #94726 )
...
* fix(google): add gemini-3.5-flash model catalog entry
gemini-3.5-flash was missing from the bundled Google model catalog,
causing it to silently fall back to DEFAULT_CONTEXT_TOKENS (200k)
instead of its documented 1,048,576-token input window.
Add the catalog entry and forward-compat routing so the model
resolves with the correct context window.
Closes : openclaw/openclaw#94723
Co-Authored-By: Claude <noreply@anthropic.com >
* chore: retry CI (flaky test)
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-06-22 18:28:01 +00:00
Vincent Koc
90cf265f29
refactor(google): share TTS request preparation
2026-06-22 19:38:30 +08:00
Vincent Koc
b039e949b6
chore(release): close out 2026.6.9
2026-06-21 12:24:15 +08:00
Vincent Koc
917a0f3052
refactor(extensions): drop private alias exports
2026-06-19 21:43:24 +08:00
Vincent Koc
2f8f93676e
refactor(extensions): remove unused utility helpers
2026-06-18 11:09:14 +08:00
Shakker
32d0b9c872
fix: keep Gemini CLI auth out of warmup
2026-06-17 03:31:14 +01:00
Shakker
589d3b12dd
fix: use OpenClaw temp root for Gemini CLI settings
2026-06-17 03:31:14 +01:00
Shakker
b2f7d9ebc8
fix: allow Gemini CLI file edits
2026-06-17 03:31:14 +01:00
Shakker
c6d7d85763
fix: parse Gemini CLI stream output
2026-06-17 03:31:14 +01:00
Shakker
9824061241
fix: align Gemini CLI home path
2026-06-17 03:31:14 +01:00
Shakker
17ba3bc65d
fix: load staged Gemini CLI auth profiles
2026-06-17 03:31:14 +01:00
Shakker
0adfca3189
test: narrow Gemini CLI setup agent dir
2026-06-17 03:31:14 +01:00
Shakker
c3bd9250c0
fix: honor inherited Gemini auth policy
2026-06-17 03:31:14 +01:00
Shakker
fe61b62c2b
fix: keep Gemini CLI system settings per run
2026-06-17 03:31:14 +01:00
Shakker
ce007fbb1e
fix: enforce Gemini CLI profile auth precedence
2026-06-17 03:31:14 +01:00
Shakker
cef3293d31
fix: isolate Gemini CLI system auth settings
2026-06-17 03:31:14 +01:00
Shakker
6c9fa4ac8c
fix: clear ambient Google ADC for Gemini CLI
2026-06-17 03:31:14 +01:00
Shakker
eb92a0bf76
fix: accept Google API keys for Gemini CLI
2026-06-17 03:31:14 +01:00
Shakker
7c276f4ba1
fix: fail closed on unstaged Gemini profiles
2026-06-17 03:31:14 +01:00
Shakker
8f66a9028c
fix: preserve Gemini CLI project binding
2026-06-17 03:31:14 +01:00
Shakker
6afb08f9ab
fix: persist Gemini CLI auth homes
2026-06-17 03:31:14 +01:00
Jason O'Neal
94a4a3fbc4
fix(gemini): bridge OAuth profiles into CLI runtime
2026-06-17 03:31:14 +01:00
Yuval Dinodia
891dd037b5
fix(google): keep parallel Gemini tool responses in the turn after the model ( #93780 )
...
* fix(google): keep parallel Gemini tool responses in the turn after the model
On Gemini < 3 vision models, a parallel tool-call turn whose non-last result
returns an image split function responses across user turns. The merge heuristic
only inspected contents[last], so the separate "Tool result image:" turn landed
between two parallel responses and stranded the second one in a fresh turn. The
turn right after the model then carried fewer functionResponse parts than the
model issued functionCall parts, so Gemini returned 400 INVALID_ARGUMENT. Because
the malformed turn is persisted, every later turn re-400s and the session sticks.
Replace the contents[last] heuristic with a run-scoped accumulator: all responses
for one model turn merge into the single user turn after it, and Gemini < 3 image
turns defer to the end of the tool-result run so they trail that response turn.
Covers both google.ts and google-vertex.ts, which share this convertMessages.
* fix(google): align provider transport tool result turns
---------
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com >
2026-06-17 09:04:35 +08:00
Vincent Koc
6774e7f259
chore(release): sync main to 2026.6.8
2026-06-17 07:25:30 +08:00
Shakker
920e6a8eec
chore: set version 2026.6.9
2026-06-16 19:54:07 +01:00