Commit Graph

51405 Commits

Author SHA1 Message Date
github-actions[bot]
940a950e47 chore(ui): refresh tr control ui locale 2026-05-22 09:10:27 +00:00
github-actions[bot]
d11c2e421d chore(ui): refresh ar control ui locale 2026-05-22 09:10:22 +00:00
github-actions[bot]
c99a29d0a8 chore(ui): refresh it control ui locale 2026-05-22 09:10:19 +00:00
github-actions[bot]
a7ba47c4ee chore(ui): refresh fr control ui locale 2026-05-22 09:10:13 +00:00
github-actions[bot]
a5fa944c69 chore(ui): refresh ko control ui locale 2026-05-22 09:09:46 +00:00
github-actions[bot]
f3a984dcbb chore(ui): refresh ja-JP control ui locale 2026-05-22 09:09:43 +00:00
github-actions[bot]
4711bb529a chore(ui): refresh es control ui locale 2026-05-22 09:09:40 +00:00
github-actions[bot]
4d6b3845f1 chore(ui): refresh zh-TW control ui locale 2026-05-22 09:09:30 +00:00
github-actions[bot]
d6fc2f34a3 chore(ui): refresh pt-BR control ui locale 2026-05-22 09:09:11 +00:00
github-actions[bot]
3222e35322 chore(ui): refresh zh-CN control ui locale 2026-05-22 09:09:05 +00:00
github-actions[bot]
ea5b5d78d5 chore(ui): refresh de control ui locale 2026-05-22 09:09:01 +00:00
Alex Knight
5d01be1070 Add chat picker search and pagination 2026-05-22 19:07:21 +10:00
Peter Steinberger
b3ec11b052 docs: add changelog for swept bugfix PRs 2026-05-22 10:00:35 +01:00
Vincent Koc
bf64de9191 fix(plugins): keep derived metadata snapshots fresh
Keep derived plugin metadata snapshots out of the process memo/current snapshot cache so newly added plugins under derived discovery paths are found without restart.
2026-05-22 17:00:09 +08:00
Vincent Koc
beccdde5bf fix(qa): isolate patched suite scenarios 2026-05-22 10:59:23 +02:00
吴杨帆
a80476fbe9 fix(telegram): preserve fenced code languages (#85209)
Co-authored-by: wuyangfan <yangfan.wu@succaiss.com>
2026-05-22 09:59:06 +01:00
Julyan
6f933656e5 fix: strip -plugin suffix in deriveIdHint to match manifest ids (#85170)
The deriveIdHint function already strips -provider from unscoped
package names (@openclaw/anthropic-provider -> anthropic) but does
not strip -plugin (@openclaw/xai-plugin -> xai-plugin instead of
xai). This causes ~30 spurious 'plugin id mismatch' warnings on
gateway startup for built-in plugins whose package names end in
-plugin.

Closes #85048
2026-05-22 09:58:56 +01:00
Sergio Cadavid
1b0a5d1627 fix(openai): preserve codex gpt-5.5 image input (#85095) 2026-05-22 09:58:43 +01:00
Noah
fb61de8c88 fix(gemini): strip sub-second precision from web_search time_range_filter (#85071)
* fix(gemini): strip sub-second precision from web_search time_range_filter

Gemini's google_search.time_range_filter rejects any non-zero fractional
seconds with "[FIELD_INVALID] Granularity of nano is not supported", even
though the underlying google.protobuf.Timestamp type accepts 0/3/6/9
fractional digits per its public spec. The grounding endpoint enforces a
stricter rule than the underlying type.

Date.prototype.toISOString() always emits millisecond precision, so every
freshness call (and any date_after/date_before call hitting the "now"
fallback for endTime) failed with the above 400 after #66498's fix shipped
in 2026.5.19.

Introduce toGeminiTimeRangeTimestamp() which strips the fractional-second
component before serializing, and route all four timeRangeFilter timestamp
sites through it. isoDateExclusiveEnd happens to produce all-zero
fractional today (so Gemini accepts it), but routing it through the helper
keeps the contract uniform and resilient to future changes.

Why this slipped past the original CI: the existing freshness test used
vi.setSystemTime(new Date("2026-04-15T12:00:00Z")), which always
serializes back as ".000Z" — the one fractional form Gemini happens to
accept. Wall-clock new Date() in production always has non-zero ms. The
new test uses setSystemTime(new Date("2026-04-15T12:00:00.123Z")) to
exercise the realistic case.

Verified empirically against the live Gemini REST API:
  ".123Z" → 400 "Granularity of nano is not supported"
  ".000Z" → grounded content (the one fractional form accepted)
  "Z"     → grounded content

Fixes #85061.

* test(gemini): use realistic non-zero ms in existing freshness test

The original test set the fake clock to a moment with zero fractional
seconds, so toISOString() produced ".000Z" — the one fractional form
Gemini's google_search.time_range_filter happens to accept. Wall-clock
new Date() in production produces non-zero ms, which Gemini rejects.

Bumping the fake time to .123Z makes the existing test exercise the
realistic case alongside the dedicated regression test.

---------

Co-authored-by: Noah R <Noerr@users.noreply.github.com>
2026-05-22 09:58:29 +01:00
Vincent Koc
9bd97d2c60 test(qa-lab): remove generic evidence wording 2026-05-22 16:54:04 +08:00
Vincent Koc
a9176e9190 fix(ci): reject embedded fallback release turns 2026-05-22 10:51:55 +02:00
Peter Steinberger
88ad5cb2f4 feat: update autoreview skill 2026-05-22 09:47:22 +01:00
Peter Steinberger
25e489395a docs: add changelog for code mode hook params (#83483) (thanks @Kaspre) 2026-05-22 09:46:27 +01:00
Kaspre
1e1e45b72b fix(code-mode): align outer exec hook params 2026-05-22 09:46:27 +01:00
Pavan Kumar Gondhi
ea5f2abb48 fix(integrations): enforce channel read target allowlists [AI] (#84982)
* fix: enforce message read target allowlists

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing ci

* addressing ci

* docs: add changelog entry for PR merge
2026-05-22 14:11:06 +05:30
Peter Steinberger
23961fe472 fix(codex): bound app-server client-close retries
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
2026-05-22 09:37:35 +01:00
Vincent Koc
0a4b30191d fix(ci): time packaged fresh release phases 2026-05-22 10:24:17 +02:00
Jason (Json)
37a9f58d1b Fix media completion duplicate delivery (#84006)
Summary:
- The PR changes generated-media duplicate guards, completion delivery fallback behavior, transcript write-lock reuse, task-registry fresh owner reads, docs, changelog, and regression coverage.
- Reproducibility: yes. with source and artifact evidence rather than a local rerun: current main completes me ... e task and one successful video task after the patch. I did not run tests because this review is read-only.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix: dedupe media completion delivery
- PR branch already contained follow-up commit before automerge: fix: avoid music provider lookup for explicit models
- PR branch already contained follow-up commit before automerge: fix: narrow detached media task handles
- PR branch already contained follow-up commit before automerge: fix: close media completion review gaps
- PR branch already contained follow-up commit before automerge: fix: tolerate media delivery mirrors during session lock
- PR branch already contained follow-up commit before automerge: Fix media completion duplicate delivery

Validation:
- ClawSweeper review passed for head f83e3bf143.
- Required merge gates passed before the squash merge.

Prepared head SHA: f83e3bf143
Review: https://github.com/openclaw/openclaw/pull/84006#issuecomment-4484835103

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
Co-authored-by: FullerStackDev <263060202+fuller-stack-dev@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-22 08:18:16 +00:00
Peter Steinberger
5ed8bbc694 fix(gateway): preserve stop reason for deferred agent aborts 2026-05-22 09:16:36 +01:00
Peter Steinberger
9ff3b9f4ef docs: update changelog for agent SIGTERM fix (#84381) 2026-05-22 09:16:36 +01:00
Kaspre
fd293bd2a7 test(gateway): use real dedupe map in abort helpers 2026-05-22 09:16:36 +01:00
Kaspre
01fce88082 fix(agent): abort accepted gateway runs on signal 2026-05-22 09:16:36 +01:00
Peter Steinberger
192a782b99 chore: add landable bug sweep skill 2026-05-22 09:08:48 +01:00
Vincent Koc
6981051682 fix(testing): ignore Crabbox metadata in changed lanes 2026-05-22 09:50:41 +02:00
Peter Steinberger
e201fbfbd2 fix: preserve xAI web search credential fallback (#85182) 2026-05-22 08:49:53 +01:00
fuller-stack-dev
ec8ed79646 fix: report oauth web search in onboarding summary 2026-05-22 08:49:53 +01:00
fuller-stack-dev
3b21a3f4c4 fix: pass active agent to web search execution 2026-05-22 08:49:53 +01:00
fuller-stack-dev
27088c6919 fix: use active agent auth for xai web search 2026-05-22 08:49:53 +01:00
fuller-stack-dev
65471a2da6 feat: add xai oauth web search and provider timeouts 2026-05-22 08:49:53 +01:00
samzong
014b527e23 fix: stop denied exec followups (#85194)
Stops denied exec approvals from feeding agent follow-up work, suppresses node `exec.denied` wakeups, adds Chinese stop phrases to abort handling, and documents terminal denial behavior.

Fixes #69386.

Co-authored-by: samzong <samzong.lu@gmail.com>
2026-05-22 08:48:19 +01:00
Peter Steinberger
b2a0bfab43 refactor(gateway): split connect assembly 2026-05-22 08:46:18 +01:00
samzong
0e47815e6e fix(gateway): surface connect assembly failures
Surface local post-challenge connect assembly failures immediately instead of waiting for the Gateway CLI wrapper timeout.\n\nCo-authored-by: samzong <samzong.lu@gmail.com>
2026-05-22 08:40:06 +01:00
Sarah Fortune
49e3f8c3ee fix(models) Discord model picker doesn't list all models (#85138)
* Add pagination to the discord model picker

* Ensure current model is shown as selected in the picker when its first loaded
2026-05-21 23:50:13 -07:00
WhatsSkiLL
170f72d5a1 fix(models): resolve set aliases from runtime config [AI-assisted] (#83262)
Summary:
- The branch passes runtime config into the model config write helper, updates `openclaw models set` to resolve aliases source-first then runtime-fallback, and adds regression tests plus a changelog entry.
- Reproducibility: yes. I did not execute the CLI in this read-only review, but the current-main source path a ... ing against source config while runtime defaults can be the only place the displayed `sonnet` alias exists.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(models): preserve authored aliases for set
- PR branch already contained follow-up commit before automerge: fix(models): resolve set aliases from runtime config [AI-assisted]

Validation:
- ClawSweeper review passed for head 29138ac5d0.
- Required merge gates passed before the squash merge.

Prepared head SHA: 29138ac5d0
Review: https://github.com/openclaw/openclaw/pull/83262#issuecomment-4472495568

Co-authored-by: JARVIS-Glasses <284122573+JARVIS-Glasses@users.noreply.github.com>
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-22 06:31:44 +00:00
clawsweeper[bot]
17e2ccf179 fix(exec): return approved WebChat gateway exec output inline (#85239)
Summary:
- The PR changes gateway exec approval handling so native WebChat approvals wait for the decision and return a ... al as the exec tool result, while preserving async follow-ups for diagnostics-direct and non-WebChat paths.
- Reproducibility: yes. Current-main source and tests show approval-required gateway exec returns approval-pen ... linked source PR provides live WebChat canary output showing the fixed inline result after native approval.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(exec): return approved WebChat gateway exec output inline

Validation:
- ClawSweeper review passed for head 7182322015.
- Required merge gates passed before the squash merge.

Prepared head SHA: 7182322015
Review: https://github.com/openclaw/openclaw/pull/85239#issuecomment-4515339946

Co-authored-by: Zac-W <wangzhifengzac@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-22 06:30:34 +00:00
Alex Knight
d0a74dbfbe fix codex memory flush tool surface (#85220)
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-22 16:23:25 +10:00
Sarah Fortune
b01a078d83 revert(models): drop auth-profiles.json fs watcher (#85244)
The watcher fired constantly because the gateway itself rewrites
auth-profiles.json frequently (cooldown ticks, usage stats, OAuth
refresh, markAuthProfileFailure). Each self-write triggered chokidar
which cleared the prepared auth map and scheduled an ~8 s rewarm,
a feedback loop that defeated the caching the rest of the PR added.

Drop the watcher entirely. Self-heal still covers the stale-TRUE
direction via the markAuthProfileFailure hook. Stale-FALSE (user adds
auth externally and the gateway hasn't observed any request through
that profile yet) reverts to the pre-PR behavior: reload config or
restart gateway to pick it up. Known limitation.
2026-05-21 23:11:50 -07:00
Andy Ye
03125c8e13 Validate Codex app-server command overrides (#84417)
Summary:
- The PR rejects Codex app-server command overrides that embed Node/package-manager inline arguments, adds matching doctor diagnostics, regression tests, and a changelog entry.
- Reproducibility: yes. for the scoped malformed override path: current main passes the combined command strin ... ix resolver/doctor live output. I did not establish a live Windows npm-global managed-startup reproduction.

Automerge notes:
- PR branch already contained follow-up commit before automerge: Validate Codex app-server command overrides

Validation:
- ClawSweeper review passed for head 966bcd6617.
- Required merge gates passed before the squash merge.

Prepared head SHA: 966bcd6617
Review: https://github.com/openclaw/openclaw/pull/84417#issuecomment-4494295224

Co-authored-by: Andy Ye <35905412+TurboTheTurtle@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-22 05:39:02 +00:00
Sarah Fortune
62a330e752 perf(models): make provider auth checks non-blocking
Make provider-auth checks asynchronous so catalog and model-listing sweeps yield between slow auth discovery calls.
2026-05-21 22:37:32 -07:00
Alex Knight
cc4e30b3d9 fix(codex): extend message tool timeout (#85216)
* fix(codex): extend message tool timeout

---------

Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-22 15:36:25 +10:00