Peter Steinberger
5604cbd3ef
test: clarify voice call webhook concurrency assertions
2026-05-08 07:52:16 +01:00
Peter Steinberger
30817c09e9
test: clarify voice call talk event waits
2026-05-08 07:51:07 +01:00
Peter Steinberger
1ae4db279c
test: clarify foundry refresh rejection assertion
2026-05-08 07:49:58 +01:00
Peter Steinberger
b5533734ba
test: clarify deepinfra model catalog assertions
2026-05-08 07:42:50 +01:00
Peter Steinberger
151e61cadf
test: clarify discord unresolved allowlist assertion
2026-05-08 07:08:03 +01:00
Peter Steinberger
eaad397981
test: clarify discord wildcard id assertion
2026-05-08 07:06:46 +01:00
Jesse Merhi
a9377fe667
Harden browser download output writes ( #78780 )
...
Summary:
- The PR exports `ensureAbsoluteDirectory` through the fs-safe/SDK runtime facades and routes browser download ... through safe output directory/file helpers with focused tests, a changelog entry, and SDK API hash updates.
- Reproducibility: yes. at source level: current main creates browser download/output roots with raw recursive ... jection coverage for that path. I did not run a live browser runtime reproduction in this read-only review.
Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(browser): use fs-safe output directory helper
- PR branch already contained follow-up commit before automerge: docs(changelog): mention browser fs-safe hardening
- PR branch already contained follow-up commit before automerge: fix(browser): harden download output writes
Validation:
- ClawSweeper review passed for head a9c9570f66 .
- Required merge gates passed before the squash merge.
Prepared head SHA: a9c9570f66
Review: https://github.com/openclaw/openclaw/pull/78780#issuecomment-4394146682
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-08 05:57:23 +00:00
Peter Steinberger
ab192eb3f0
test: tighten helper assertion guards
2026-05-08 06:56:38 +01:00
Peter Steinberger
0a6818bbb5
test: finish exact function assertion cleanup
2026-05-08 06:38:25 +01:00
Peter Steinberger
948ba9e7cb
test: guard extension callback captures
2026-05-08 06:34:45 +01:00
Peter Steinberger
24f9f4455b
test: invoke matrix entry hooks
2026-05-08 06:32:40 +01:00
Peter Steinberger
765ca52915
test: invoke whatsapp setup validators
2026-05-08 06:31:10 +01:00
Peter Steinberger
0f31b6424e
test: tighten proxy fetch assertions
2026-05-08 06:28:56 +01:00
Peter Steinberger
8af475d9be
test: tighten function-shape assertions
2026-05-08 06:19:37 +01:00
Peter Steinberger
6a07855d5a
test: type msteams monitor mocks
2026-05-08 06:18:36 +01:00
Peter Steinberger
48ff229a82
test(msteams): type lifecycle mocks
2026-05-08 06:14:53 +01:00
Peter Steinberger
d4eb40248a
fix: normalize gemini 3 pro preview config
2026-05-08 06:08:58 +01:00
Pavan Kumar Gondhi
ff80167e5a
fix(discord): gate user allowlist name resolution [AI] ( #79002 )
...
* fix: gate discord user allowlist name resolution
* docs: add changelog entry for PR merge
2026-05-08 10:38:39 +05:30
Pavan Kumar Gondhi
c1edfafa3e
fix(msteams): gate startup user allowlist resolution [AI] ( #79003 )
...
* fix: gate msteams user allowlist name resolution
* addressing codex review
* docs: add changelog entry for PR merge
2026-05-08 10:38:05 +05:30
Peter Steinberger
9e58cc82c8
test: fix strict CI gates
2026-05-08 05:56:38 +01:00
Peter Steinberger
eabae023eb
perf: lazy load memory embedding runtime
2026-05-08 05:39:13 +01:00
Peter Steinberger
8dcc2ff1d2
fix(discord): prefer latest voice auto-join channel
2026-05-08 05:35:51 +01:00
Peter Steinberger
fe79d85ae0
feat(imessage): add native imsg message actions
...
Adds native iMessage private-API message actions, lightweight message-tool discovery, bridge capability cache sharing, execution-time action gates, target alias coverage, and regression tests.
2026-05-08 05:34:22 +01:00
Peter Steinberger
9ef37d1907
test: tighten assertions and harness coverage
2026-05-08 05:28:12 +01:00
Kevin Lin
f62618f805
fix: respect Codex requirements for app-server defaults ( #79151 )
...
* fix(codex): honor requirements for app-server defaults
* test(codex): harden requirements policy coverage
* fix(codex): match requirements sandbox constraints
* fix(codex): honor approval requirements in defaults
* fix(codex): honor reviewer requirements in defaults
* fix(codex): honor remote sandbox requirements
2026-05-07 21:16:08 -07:00
NVIDIAN
36f847a60e
fix(whatsapp): ignore outbound echoes for inbound activity ( #79057 )
...
Merged via squash.
Prepared head SHA: 3b1f38a2bd
Co-authored-by: ai-hpc <183861985+ai-hpc@users.noreply.github.com >
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Reviewed-by: @mcaxtr
2026-05-08 01:02:19 -03:00
Ayaan Zaidi
252456e2f6
fix(telegram): recover sticky fallback transport
2026-05-08 09:15:31 +05:30
Zeroth
741315e657
fix(slack): seed thread routing for implicit-conversation channels ( #78522 )
...
When a Slack channel has `requireMention: false` and a non-`off` reply mode, every top-level bot reply creates a Slack thread (because `replyToMode` does). Without seeding the inbound root, the root turn landed on the channel session while later thread replies landed on a fresh `🧵 <root_ts>` session, breaking conversational continuity.
Extend `seedTopLevelRoomThreadBySource` to also fire for those channels, mirroring how `app_mention` / `explicitlyMentioned` roots already get seeded. The thread session key is now consistent on both sides of the turn, so follow-up thread messages route back to the originating session.
Fixes #78505
2026-05-07 23:30:10 -04:00
Val Alexander
4e983aa57b
fix: hide retired google gemini chat models
...
Summary:
- Hide retired and non-public Google Gemini model IDs from Control UI/chat model catalogs.
- Route the bare gemini-3-pro alias to gemini-3.1-pro-preview.
- Keep models.list fallback rows filtered by manifest suppressions and update stale pricing-cache expectations.
Verification:
- pnpm test src/commands/models/list.list-command.forward-compat.test.ts src/commands/models/list.rows.test.ts extensions/google/manifest.test.ts extensions/google/model-id.test.ts extensions/google/provider-models.test.ts extensions/google/provider-policy-api.test.ts extensions/google/media-understanding-provider.video.test.ts src/plugin-sdk/provider-model-id-normalize.test.ts src/plugins/manifest-model-suppression.test.ts src/gateway/server-methods/models.test.ts ui/src/ui/chat-model-select-state.test.ts ui/src/ui/chat-model-ref.test.ts
- pnpm test src/gateway/model-pricing-cache.test.ts
- pnpm --silent openclaw models list --all --json --provider google / google-vertex hidden-row probe
- Testbox pnpm check:changed: https://github.com/openclaw/openclaw/actions/runs/25534551033
2026-05-07 22:20:07 -05:00
pashpashpash
fb106fb9ae
fix codex harness service tiers ( #79152 )
2026-05-08 12:10:41 +09:00
Omar Shahine
df069f7b02
fix(imessage): surface silent group-allowlist drops at default log level ( #79190 )
...
Merged via squash.
Prepared head SHA: 6454366a62
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Reviewed-by: @omarshahine
2026-05-07 20:09:05 -07:00
Omar Shahine
e259751ec9
feat(imessage): private-API support via imsg JSON-RPC [AI-assisted] ( #78317 )
...
Merged via squash.
Prepared head SHA: b7d336b296
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Reviewed-by: @omarshahine
2026-05-07 19:20:18 -07:00
Peter Steinberger
6cfb08680e
fix(codex): close app-server stdio gracefully
2026-05-08 02:58:27 +01:00
Peter Steinberger
478996231a
test: stabilize Codex searchable dynamic tools test
2026-05-08 02:42:38 +01:00
Peter Steinberger
e0cc5c0eee
fix: preserve progress draft tool titles
2026-05-08 02:03:12 +01:00
Peter Steinberger
accf774591
fix: make channel progress labels rolling
2026-05-08 02:03:12 +01:00
Peter Steinberger
ef29c85a48
fix: improve Discord progress draft rendering
2026-05-08 02:03:12 +01:00
Kevin Lin
a1ac559ed7
feat(codex): enable native plugin app support ( #78733 )
...
* feat(codex): add native plugin config schema
* feat(codex): add native plugin inventory activation
* feat(codex): configure native plugin apps for threads
* feat(codex): enforce plugin elicitation policy
* feat(codex): migrate native plugins
* docs(codex): document native plugin support
* fix(codex): harden plugin migration refresh
* fix(codex): satisfy plugin activation lint
* fix: stabilize codex plugin app config
* fix: address codex plugin review feedback
* fix: key codex plugin app cache by websocket credentials
* fix: keep codex plugin app fingerprints stable
* fix: refresh codex plugin cache test fixtures
* fix: refresh plugin app readiness after activation
* fix: support remote codex plugin activation
* fix: recover plugin app bindings after cache refresh
* fix: force codex app refresh after plugin activation
* fix: recover partial codex plugin app bindings
* fix: sync codex plugin selection config
* fix: keep codex plugin activation fail closed
* fix: align codex plugin protocol types with main
* fix: refresh partial codex plugin app bindings
* fix: key codex app cache by env api key
* fix: skip failed codex plugin migration config
* test: update codex prompt snapshots
* fix: fail closed on missing codex app inventory entries
* fix(codex): enforce native plugin policy gates
* fix(codex): normalize native plugin policy types
* fix(codex): fail closed on plugin refresh errors
* fix(codex): use native plugin destructive policy
* fix(codex): key plugin cache by api-key profiles
* fix(codex): drop unshipped plugin fingerprint compat
* fix(codex): let native app policy gate plugin tools
* fix(codex): allow open-world plugin app tools
* fix(codex): revalidate native plugin app bindings
* fix(codex): preserve plugin binding on recheck failure
* docs(codex): clarify plugin harness scope
* fix(codex): return activation report state exhaustively
* test(codex): refresh prompt snapshots after rebase
* fix(codex): match namespaced plugin ids
2026-05-07 17:20:28 -07:00
Peter Steinberger
63ec912786
fix(openai): use GA realtime bridge for gpt-realtime-2
...
Summary:
- switch OpenAI realtime voice default to gpt-realtime-2
- migrate backend OpenAI WebSocket bridge to the GA session shape and drop the beta header
- keep Azure deployment realtime bridges on the deployment-compatible shape
- extend live Talk smoke coverage and align npm Telegram package-runtime assertions
Verification:
- pnpm test extensions/openai/realtime-voice-provider.test.ts src/gateway/protocol/index.test.ts src/gateway/talk-handoff.test.ts extensions/google-meet/index.test.ts -- --reporter=dot
- pnpm test test/scripts/npm-telegram-live.test.ts -- --reporter=dot
- pnpm check:docs
- env OPENCLAW_TESTBOX=0 pnpm check:changed
- OPENCLAW_REALTIME_OPENAI_MODEL=gpt-realtime-2 node --import tsx scripts/dev/realtime-talk-live-smoke.ts
2026-05-08 00:47:25 +01:00
pashpashpash
3f217964d1
Defer Codex dynamic tools behind search
...
Defer OpenClaw Codex dynamic tools behind Codex tool_search, keep required turn-control tools direct, pin the managed Codex harness to 0.129.0-alpha.15, and document the real behavior/token impact from the live dev-agent watch.
2026-05-07 16:40:37 -07:00
Mert Başar
029ca8c268
feat(agents): implement state-aware failover and lane suspension
...
Summary:
- Persist quota-suspension state transitions and reload fresh suspension state before failover handoff injection.
- Restore suspended lanes to configured concurrency and share failover-to-suspension reason mapping across fallback and embedded runner paths.
- Export model.failover diagnostics via OTLP and cover queueing/resume behavior with regressions.
Verification:
- pnpm test src/config/sessions/store.pruning.integration.test.ts src/process/command-queue.test.ts src/agents/session-suspension.test.ts src/agents/model-fallback.test.ts extensions/diagnostics-otel/src/service.test.ts
- git diff --check
- pnpm exec oxfmt --check --threads=1 on changed TypeScript files
- GitHub checks: 92 successful, 0 pending, 0 failed on head 962146be88
- Review threads: none unresolved
2026-05-07 18:34:05 -05:00
Peter Steinberger
6a4069dead
fix: share plugin runtime helpers
...
Consolidate shared plugin runtime MIME/schema helpers, preserve canonical runtime behavior, and guard QQBot STT fetches.
2026-05-08 00:28:43 +01:00
Peter Steinberger
9e4da8c7b3
fix(active-memory): honor agent allowlist in status
2026-05-08 00:21:44 +01:00
Peter Steinberger
b00c9943bd
fix(active-memory): avoid google chat space ids as channels
2026-05-08 00:21:26 +01:00
Peter Steinberger
36835592df
feat: log discord voice transcripts
2026-05-07 22:17:42 +01:00
Peter Steinberger
5a4676bd64
fix(byteplus): align Kimi catalog metadata
2026-05-07 22:05:45 +01:00
Vincent Koc
84638bfbb0
fix(imessage): report non-mac default imsg hosts
2026-05-07 12:53:01 -07:00
Vincent Koc
4ad4be9aff
test(channels): drop bluebubbles fixture assumptions
2026-05-07 12:53:01 -07:00
Vincent Koc
07bf572f35
chore(channels): delete bluebubbles plugin package
2026-05-07 12:53:00 -07:00
Vincent Koc
fcb9dcc886
test(openai): align codex default auth contract
2026-05-07 07:16:20 -07:00