Peter Steinberger
eb76bf499b
fix(voice-call): terminate carrier calls after realtime startup failures ( #118699 )
2026-08-03 07:38:42 -07:00
Peter Steinberger
48c14976b9
fix(slack): isolate GovSlack media trust and delivery ( #118695 )
2026-08-03 07:37:38 -07:00
Peter Steinberger
c70863a5e5
fix(browser): wrap page-controlled action results ( #118691 )
2026-08-03 07:37:04 -07:00
Peter Steinberger
cae7431644
test(qa): prove real yielded-child completion and channel delivery ( #118707 )
2026-08-03 07:35:56 -07:00
Peter Steinberger
c547f16506
fix(nextcloud-talk): allow bounded parallel room deliveries ( #118692 )
2026-08-03 07:08:48 -07:00
Peter Steinberger
5541eef4f2
fix(slack): scope interactive conversation bindings safely ( #118662 )
...
* fix(slack): scope interactive conversation bindings safely
* fix(slack): satisfy typed sender authorization lint
2026-08-03 06:42:32 -07:00
Peter Steinberger
3b6cad7e31
fix(whatsapp): preserve terminal retry exhaustion lifecycle ( #118659 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-03 06:19:00 -07:00
Peter Steinberger
65a0db95dd
test(memory): isolate wiki plugin fixtures ( #118654 )
2026-08-03 05:26:59 -07:00
clawsweeper[bot]
e402606c71
fix(line): clear default access token when removing account ( #118055 )
...
* fix(line): clear default access token when removing account
* fix(line): clear default access token when removing account
---------
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-08-03 05:20:38 -07:00
Jesse Merhi
68be0e3378
feat: enable rich setup controls in custodian chat ( #114631 )
...
* feat(protocol): carry the awaited wizard step on the chat result
* fix(system-agent): strip sensitive wizard prefill from chat results
* fix(wizard): keep setup secrets server-side
* test(wizard): preserve prompt mock typing
* fix(ui): add reveal toggle to wizard secrets
* refactor(ui): adopt Carapace sensitive input
* fix(ui): hide revealed sensitive input mask
* test(twitch): cover environment-only setup
* feat(custodian): render rich wizard steps
* fix(custodian): validate wizard text replies
* feat(custodian): submit typed wizard answers
* refactor(gateway): isolate custodian chat turns
* fix(gateway): accept session engine adapter
* fix(ui): narrow wizard control values
* refactor: simplify rich wizard answer flow
* fix(custodian): recover evicted wizard sessions
* docs: note custodian rich setup controls
* test(gateway): split wizard answer coverage
2026-08-03 22:18:27 +10:00
Goutam Adwant
a5160c1294
fix(xai): classify exhausted credits as billing ( #118615 )
2026-08-03 04:57:28 -07:00
Peter Steinberger
35c9c76b8c
fix(otel): fail closed when configured TLS material is invalid ( #118648 )
2026-08-03 04:52:52 -07:00
Vincent Koc
8895b0c288
fix(codex): preserve yielded subagent handoff ( #118644 )
2026-08-03 19:44:58 +08:00
Peter Steinberger
f5cb0f2f76
test(memory): isolate index suite plugin discovery ( #118641 )
2026-08-03 04:36:03 -07:00
Peter Steinberger
2a8f2e6756
fix(matrix): block plaintext attachments in encrypted rooms ( #118609 )
...
* fix(matrix): block plaintext uploads to encrypted rooms
* test(matrix): spy on room encryption detection safely
* fix(matrix): enforce encrypted room confidentiality at outbound owner
* test(matrix): keep delivery trace client aligned with send owner
2026-08-03 04:33:46 -07:00
Peter Steinberger
8d1fe4f091
fix(pdf): reject requested pages outside the document range ( #118639 )
2026-08-03 04:28:17 -07:00
Peter Steinberger
629bf6f2d3
fix(otel): redact invalid collector URLs and suppress implicit exporters ( #118635 )
2026-08-03 04:24:53 -07:00
Peter Steinberger
e87fb689b5
fix(channels): preserve thread participation expiry across restarts ( #118630 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-03 04:12:18 -07:00
Peter Steinberger
5b7272f9b5
fix(pdf): surface image-render failures when documents have no text ( #118629 )
2026-08-03 04:10:41 -07:00
Peter Steinberger
fe6fa891ea
fix(whatsapp): clear and migrate every Baileys credential class ( #118610 )
...
* fix(whatsapp): clear and migrate every auth credential class
* test(whatsapp): await nullable legacy migration detector
2026-08-03 03:54:41 -07:00
Peter Steinberger
6d8c1ed30d
fix(voice-call): prevent unrelated session recall in fast context ( #118498 )
...
* fix(talk): authorize fast session context
* test(plugins): preserve memory runtime mock types
* fix(plugins): preserve memory authorizer binding
* fix(memory): forward search authorization in lazy runtime
* test(memory): verify lazy authorizer host binding
* docs(plugins): define memory search authorization contract
2026-08-03 03:38:02 -07:00
Peter Steinberger
56f02c4956
fix(otel): fail closed when configured proxies are invalid ( #118612 )
2026-08-03 03:37:58 -07:00
Peter Steinberger
06957a69d8
fix(discord): keep acknowledged interaction replies private ( #118611 )
2026-08-03 03:34:05 -07:00
Peter Steinberger
3832074cd9
fix(mattermost): preserve channel lookup failures ( #118622 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-03 03:21:55 -07:00
Peter Steinberger
c53e594aae
fix(slack): stop partially started native streams after fallback ( #118617 )
2026-08-03 03:00:17 -07:00
Sukhdeep
a7396255d0
fix(litellm): send image edits as multipart/form-data ( #118562 )
...
The litellm image provider built edit requests as a JSON body with
`images: [{image_url}]`, but LiteLLM's POST /v1/images/edits is a multipart
endpoint following OpenAI's edits schema: the reference image must be an
uploaded file part named `image` (or `image[]`). LiteLLM never finds an `image`
key in a JSON body and fails before contacting the upstream provider:
HTTP 500 aimage_edit() missing 1 required positional argument: 'image'
so every image edit through this provider fails. Plain generation is unaffected.
No JSON variant works. Verified against LiteLLM v1.82.3 with a real 512x512 PNG:
plural `images` 500s as above; singular `image` as a data URL or bare base64,
string or array, returns HTTP 400 "Invalid image file or mode". Only multipart
succeeds. Note that singular `image` clears the 500 and reaches the provider,
which looks like progress but never delivers usable bytes.
Switch buildEditRequest to return { kind: "multipart", form }, which
createOpenAiCompatibleImageGenerationProvider already routes to
postMultipartRequest — matching the built-in openai and deepinfra providers.
A single reference uses the `image` part name and multiple use repeated
`image[]` parts; LiteLLM accepts either as List[UploadFile] and merges them,
erroring only when both appear in one request.
Also drops the now-unused imageToDataUrl helper and its imports.
Tests: the existing edit test asserted the buggy JSON shape, so it now asserts
a multipart request, that postJsonRequest is not called, and the single-image
part name; a new test covers repeated image[] parts for multiple references.
Verified end-to-end against LiteLLM v1.82.3 with a live agent: single-reference
and multi-image edits both return real images; both failed with the 500 before.
2026-08-03 02:59:08 -07:00
Peter Steinberger
deb682abfe
refactor(plugins): consolidate extension runtime helpers ( #118509 )
...
* refactor(plugins): consolidate extension runtime helpers
* fix(ci): satisfy extension type and lint checks
* chore(plugin-sdk): regenerate API baseline for #118509
2026-08-03 02:56:43 -07:00
Peter Steinberger
0fbddda540
improve(qa): replace terminal reply timing waits ( #118600 )
...
* test(qa): replace terminal reply timing waits
* test(qa): keep terminal contract in channel suite
* test(qa): scope terminal settlement per worker
* test(qa): bind settlement to child session
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-03 02:37:59 -07:00
Peter Steinberger
ecc49b5a87
refactor(tts): absorb speech core package ( #118513 )
...
* refactor(tts): absorb speech core package
* fix(tts): preserve runtime SDK exports
* refactor(tts): remove private package exports
* test(tts): align canonical runtime mocks
* test(tts): complete canonical settings mocks
* chore(plugin-sdk): regenerate API baseline for #118513
2026-08-03 02:25:48 -07:00
Vincent Koc
d2046614f9
fix(qa): restore Telegram release validation ( #118542 )
2026-08-03 17:22:29 +08:00
Peter Steinberger
e97f484ef9
fix(discord): report pending message search indexes ( #118573 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-03 02:13:42 -07:00
Peter Steinberger
e812630f80
fix(synology-chat): reject failed webhook response envelopes ( #118558 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-03 00:36:18 -07:00
Peter Steinberger
820cd7c152
fix(slack): finalize the actual delivered question card ( #118450 )
...
* fix(slack): finalize the actual delivered question card
* test(slack): type question delivery response mocks correctly
* fix(slack): retain delivered question identity through reconciliation
* fix(slack): finalize through the registered channel adapter
* fix(slack): share question runtime and finalize accepted cards
* test(slack): assert private card metadata with direct JSON serialization
2026-08-03 00:28:54 -07:00
Peter Steinberger
c6bcd93561
fix(discord): preserve final slash-command failure outcomes ( #118545 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-03 00:01:58 -07:00
Peter Steinberger
4281e90012
fix(zalouser): route reactions through canonical conversation targets ( #118536 )
2026-08-02 23:52:20 -07:00
joshavant
2781abf960
fix(agents): preserve timeout completion evidence
2026-08-03 01:41:38 -05:00
joshavant
cd8985c2fc
test(qa): prove terminal reply channel behavior
2026-08-03 01:41:38 -05:00
Peter Steinberger
8df0142771
fix(google): retry stalled Gemini response bodies ( #118511 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 23:20:28 -07:00
Peter Steinberger
d26dcc02c5
fix(matrix): preserve indented code without triggering mentions ( #118497 )
...
* fix(matrix): preserve indented code without triggering mentions
* fix(matrix): retain whitespace through Gateway message actions
* fix(matrix): retain legacy trailing whitespace normalization
2026-08-02 23:13:11 -07:00
Peter Steinberger
8e35fb4963
test(channels): consolidate remaining channel scaffolding ( #118493 )
...
* test(channels): consolidate channel scaffolding
* test(channels): fix helper typings
2026-08-02 23:03:54 -07:00
Peter Steinberger
5de84bfc4d
fix(openai): support the current speech model snapshot ( #118475 )
...
* fix(openai): support the current speech model snapshot
* docs(openai): clarify speech instructions apply to the model family
2026-08-02 23:00:46 -07:00
Peter Steinberger
e04caa6aee
fix(openai): support flexible GPT Image 2 dimensions ( #118476 )
...
* fix(openai): support flexible GPT Image 2 dimensions
* docs(openai): explain flexible GPT Image 2 dimensions
2026-08-02 22:40:07 -07:00
Peter Steinberger
f6341f2fba
test(qa): consolidate gateway child fixtures ( #118508 )
2026-08-02 22:37:55 -07:00
Peter Steinberger
8a5cfa4cac
fix(xai): preserve all response text blocks and citations ( #118477 )
2026-08-02 22:34:34 -07:00
Peter Steinberger
122181649e
test(ollama): consolidate model catalog fixtures ( #118491 )
2026-08-02 22:28:01 -07:00
Peter Steinberger
181701da92
fix(memory): surface wiki backend read failures ( #118449 )
2026-08-02 22:19:27 -07:00
Vincent Koc
f32a266134
fix(whatsapp): render quoted self-chat replies with cached LIDs ( #116814 )
...
* fix(whatsapp): align quoted replies with resolved jid
* fix(whatsapp): preserve inbound media type import
2026-08-03 12:54:28 +08:00
Vincent Koc
763c97b2de
Merge pull request #118183 from openclaw/fix/ollama-loaded-setup-20260802
...
fix(ollama): avoid loading idle models during guided setup
2026-08-03 12:38:00 +08:00
Peter Steinberger
694212ea72
test(agents): fixture model runtime collaborators ( #118453 )
...
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 21:33:39 -07:00
Peter Steinberger
da7b1a565d
test(xai): consolidate catalog discovery setup ( #118454 )
2026-08-02 21:31:29 -07:00