Commit Graph

66965 Commits

Author SHA1 Message Date
VectorPeak
1cf6ff3bdc fix(browser): decode CDP URL credentials 2026-07-01 04:14:20 -07:00
Wynne668
06b841fa58 fix(sms): strip internal tool traces from replies 2026-07-01 04:12:55 -07:00
zhangLei99586
3241936526 fix: clear Tailscale probe timeout
The checkBinary helper used Promise.race with a setTimeout-based timeout
but never cleared the timer when runExec completed first. Wrap the race
in a try/finally that clears the timer handle to avoid a dangling timer.
2026-07-01 04:08:39 -07:00
zhangLei99586
8b14321c11 fix(feishu): hoist abortable delay timer binding
The finish() closure referenced timer which was declared with const after
finish was defined. If finish(false) ran via the abort signal check at
line 99 or via the abort event listener before the const timer assignment,
accessing timer in the temporal dead zone would throw a ReferenceError.

Hoist timer as a let binding above finish so it is safely undefined when
finish fires early, and the  guard in finish handles it.
2026-07-01 04:06:33 -07:00
Alix-007
76038c3a62 fix(matrix): bound raw transport response reads
* fix(matrix): bound raw transport response reads to prevent OOM

* test(matrix): add real node:http server proof for bound transport

Two new integration-style tests drive performMatrixRequest against a real
node:http server (no stubRuntimeFetch mock) using real undici + SSRF
dispatcher and ssrfPolicy.allowPrivateNetwork:

- over-cap: server declares Content-Length > MATRIX_SDK_RESPONSE_MAX_BYTES
  with maxBytes omitted → rejects MatrixMediaSizeLimitError (68 ms wall)
- under-cap: server returns small payload with maxBytes omitted → Buffer
  returned correctly (12 ms wall)

Addresses ClawSweeper feedback: previous proof showed only Vitest mock
output; these tests exercise the real Matrix runtime fetch path end-to-end.

* test(matrix): satisfy lint for transport proof

* fix(matrix): preserve encrypted media download limits

* test(matrix): add streaming OOM guard proof via real node:http server without Content-Length

Drive readResponseWithLimit directly by omitting Content-Length so that
enforceDeclaredResponseSize is a no-op and the streaming byte cap is the
sole enforcement path. A 20 MiB chunked server response with a 16 MiB
cap confirms the stream is canceled before full buffering (chunksWritten
< TOTAL_CHUNKS). A second case verifies under-cap payloads pass through.

* test(matrix): fix lint errors in real HTTP server proof (curly)

* test(matrix): add under-cap proof to real HTTP server test
2026-07-01 04:02:13 -07:00
Yuval Dinodia
acb0e8e88d fix(irc): classify host-less nick!user allowlist entries as mutable
An IRC sender mask is nick!user@host where only host is server verified;
nick and user (ident) are client supplied and spoofable. The allowlist
identity classifier treated any entry containing "!" or "@" as a verified
stable identity, so a host-less nick!user entry was classified stable and
matched by the host-less nick!user subject candidate. With
dangerouslyAllowNameMatching at its secure default (off), the mutable
identifier policy only strips entries owned by a dangerous field, so the
host-less entry was never stripped and a remote sender presenting the same
nick and ident was admitted regardless of host.

Require a verified @host component before an entry or subject is classified
stable. Host-less nick and host-less nick!user are now both routed to a
dangerous (mutable) field so they are gated by the same name-matching policy.
The doctor mutable-allowlist detector now also flags host-less nick!user
entries so operators who typed that undocumented shape get a warning. The
documented full nick!user@host mask stays stable and unaffected.
2026-07-01 04:01:05 -07:00
wm0018
dcc2db1825 feat(node): add gateway context path support 2026-07-01 03:58:47 -07:00
An Dang
98254634f1 fix(docker): reduce local build memory pressure 2026-07-01 03:58:21 -07:00
lizeyu
daffe593aa fix(embedded-agent): classify Cloudflare challenge HTML as upstream failure
* fix: #94432 classify Cloudflare challenge 403 as upstream_html instead of auth_html

* chore: trigger CI re-run for Real behavior proof validation

* fix: align Cloudflare challenge detector with shared challenge markers

Extend CLOUDFLARE_CHALLENGE_RE to also match cdn-cgi/challenge-platform
and challenge-error-text — patterns already recognized by the shared
STANDALONE_HTML_ERROR_HINT_RE in assistant-error-format.ts.

Add regression tests for both new marker variants to ensure coverage.

* fix(embedded-agent): suppress raw Cloudflare HTML in console after upstream_html reclassification

- Add upstream_html to RAW_ERROR_CONSOLE_SUPPRESSED_FAILURE_KINDS so
  Cloudflare challenge 403 pages classified as upstream_html do not
  leak raw HTML into lifecycle/failover console rawError= diagnostics
- Add regression test verifying upstream_html suppression in
  failover observation console messages

Re: #94432

---------

Co-authored-by: lzyyzznl <lzyyzznl@users.noreply.github.com>
Co-authored-by: lizeyu-xydt <lizeyu@xydigit.com>
2026-07-01 03:58:09 -07:00
Wynne668
2af2eb2dfb fix(message-tool): apply responsePrefix to outbound sends
* fix(message-tool): apply messages.responsePrefix to outbound sends

* fix(message-tool): interpolate responsePrefix templates on sends and skip unresolved model tokens
2026-07-01 03:57:30 -07:00
xingzhou
36e7f214db fix(sessions): preserve lineage metadata in JSON 2026-07-01 03:54:57 -07:00
Eldar Shlomi
5d52b5be38 fix(agents): skip implicit discovery in models replace mode
* fix(agents): skip implicit provider discovery when models.mode is 'replace' [AI-assisted]

resolveProvidersForModelsJsonWithDeps unconditionally awaited the implicit
provider resolver before honoring models.mode. With mode: 'replace' the user
opts out of discovery, so add a 3-line early-return guard that returns only the
explicit providers — eliminating the (slow) discovery pass for replace-mode.

Closes #66957.
AI-assisted contribution.

* chore: re-trigger CI (transient checkout/flaky core-check failures + cancelled gates; no code change)
2026-07-01 03:54:26 -07:00
VectorPeak
fbceb309e7 fix(media): normalize Windows inbound paths case-insensitively
* fix Windows inbound media path casing

* test: cover Windows inbound path casing

* test(plugin-sdk): cover media runtime inbound path casing
2026-07-01 03:53:54 -07:00
Vincent Koc
9c130388a3 fix(android): validate resource apostrophe syntax 2026-07-01 03:43:03 -07:00
Vincent Koc
03d3f49c3d fix(android): preserve Swedish app name 2026-07-01 03:43:03 -07:00
Vincent Koc
5e786ac27a test(android): enforce localized resource coverage 2026-07-01 03:43:03 -07:00
Vincent Koc
2fa4445529 fix(android): complete localized gateway trust flows 2026-07-01 03:43:03 -07:00
Vincent Koc
844775a6de feat(android): localize every native locale 2026-07-01 03:43:03 -07:00
Vincent Koc
af00b0bebf feat(android): localize gateway onboarding 2026-07-01 03:43:03 -07:00
chenyangjun-xy
73e6a626b8 fix(usage-bar): use Object.hasOwn instead of in operator to avoid prototype chain pollution (#98503)
The in operator traverses the prototype chain, causing keys like toString,
constructor, valueOf, and __proto__ to incorrectly match Object.prototype
inherited properties in alias table lookups and map segment case lookups.
Replace with Object.hasOwn (ES2022) which only checks own properties.

Fixes #98466

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-01 03:37:45 -07:00
github-actions[bot]
1a160cec09 chore(ui): refresh fa control ui locale 2026-07-01 10:34:18 +00:00
github-actions[bot]
405b7a52c1 chore(ui): refresh nl control ui locale 2026-07-01 10:34:16 +00:00
github-actions[bot]
f69e27afa2 chore(ui): refresh vi control ui locale 2026-07-01 10:33:50 +00:00
github-actions[bot]
cd30b1c3ee chore(ui): refresh th control ui locale 2026-07-01 10:33:36 +00:00
github-actions[bot]
9bd071ead3 chore(ui): refresh pl control ui locale 2026-07-01 10:33:34 +00:00
github-actions[bot]
3d06ee9ed7 chore(ui): refresh id control ui locale 2026-07-01 10:33:20 +00:00
github-actions[bot]
a143ae4e7d chore(ui): refresh it control ui locale 2026-07-01 10:32:57 +00:00
github-actions[bot]
a72a64136e chore(ui): refresh uk control ui locale 2026-07-01 10:32:50 +00:00
github-actions[bot]
6cd0106bbc chore(ui): refresh tr control ui locale 2026-07-01 10:32:47 +00:00
github-actions[bot]
4e621240e8 chore(ui): refresh ar control ui locale 2026-07-01 10:32:32 +00:00
github-actions[bot]
21af6e7b19 chore(ui): refresh fr control ui locale 2026-07-01 10:32:08 +00:00
github-actions[bot]
f84243fe3f chore(ui): refresh ko control ui locale 2026-07-01 10:32:03 +00:00
github-actions[bot]
6b7986e14e chore(ui): refresh ja-JP control ui locale 2026-07-01 10:31:54 +00:00
github-actions[bot]
9ed03df44d chore(ui): refresh es control ui locale 2026-07-01 10:31:45 +00:00
github-actions[bot]
ccddbeea6a chore(ui): refresh zh-CN control ui locale 2026-07-01 10:31:17 +00:00
github-actions[bot]
dfaec1888d chore(ui): refresh pt-BR control ui locale 2026-07-01 10:31:08 +00:00
github-actions[bot]
da9308ddb7 chore(ui): refresh de control ui locale 2026-07-01 10:31:02 +00:00
github-actions[bot]
bb4afe40ae chore(ui): refresh zh-TW control ui locale 2026-07-01 10:30:57 +00:00
Momo
91cfac8ee0 fix: allow config.patch with defaulted provider baseUrl (#98396)
Summary:
- Merged fix: allow config.patch with defaulted provider baseUrl after ClawSweeper review.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

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

Prepared head SHA: 68fbf67640
Review: https://github.com/openclaw/openclaw/pull/98396#issuecomment-4853365525

Co-authored-by: momothemage <niuzhengnan@163.com>
Approved-by: momothemage
2026-07-01 10:30:40 +00:00
Vincent Koc
740cc5b732 fix(ui): localize expired pairing QR notice 2026-07-01 03:28:23 -07:00
Vincent Koc
d39ac85f99 fix(ui): localize expired pairing QR notice 2026-07-01 03:28:23 -07:00
Vincent Koc
cd571faeaf chore(i18n): refresh native inventory line mappings 2026-07-01 03:28:23 -07:00
Vincent Koc
6497c3ca1b fix(i18n): stabilize native inventory generation 2026-07-01 03:28:23 -07:00
Vincent Koc
84247114c2 fix(i18n): include custom SwiftUI helper labels 2026-07-01 03:28:23 -07:00
Vincent Koc
a38864aeb9 fix(i18n): parse native UI string expressions 2026-07-01 03:28:23 -07:00
Vincent Koc
18494a04f5 fix(i18n): cover native conditional UI strings 2026-07-01 03:28:23 -07:00
Vincent Koc
5ec988230c fix(i18n): scope native UI helper extraction 2026-07-01 03:28:23 -07:00
Vincent Koc
59b6bdf36c fix(i18n): cover structured native UI strings 2026-07-01 03:28:23 -07:00
Vincent Koc
249d4904af fix(ci): route native locale refresh checks 2026-07-01 03:28:23 -07:00
Vincent Koc
fbd6e30ce1 feat(i18n): add Swedish native locale 2026-07-01 03:28:23 -07:00