Commit Graph

63687 Commits

Author SHA1 Message Date
Ayaan Zaidi
fe513ffe5e fix(agents): make cli binding tool-scope hash session-stable 2026-07-03 16:27:06 -07:00
github-actions[bot]
f4275fa00b chore(i18n): refresh native de locale 2026-07-03 23:26:43 +00:00
github-actions[bot]
8929118353 chore(i18n): refresh native pt-BR locale 2026-07-03 23:26:28 +00:00
github-actions[bot]
c312f9f0e0 chore(i18n): refresh native zh-TW locale 2026-07-03 23:24:56 +00:00
github-actions[bot]
b81c58bdf6 chore(i18n): refresh native zh-CN locale 2026-07-03 23:24:51 +00:00
Dallin Romney
00b7eac5c3 refactor: consolidate number coercion callers (#99671)
* refactor: consolidate number coercion callers

* fix: stabilize plugin sdk surface resolution
2026-07-03 16:24:43 -07:00
WhatsSkiLL
c680312ef6 feat(android): add chat command controls (#98796) 2026-07-03 19:23:06 -04:00
Dallin Romney
9c75a14d5c refactor(infra): consolidate SHA-256 digest helpers (#99687) 2026-07-03 16:18:31 -07:00
Dallin Romney
1ab021fba9 fix(qa): consume Crabline events without recorder polling (#99679)
* fix(qa): consume Crabline events in process

* chore(qa): use Crabline 0.1.9
2026-07-03 16:15:03 -07:00
Vincent Koc
c45124ab85 fix(infra): preserve top-level pricing metadata in session logs 2026-07-03 16:08:22 -07:00
NianJiuZst
c5260a3c03 fix: estimate known zero transcript costs 2026-07-03 16:08:22 -07: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
Dallin Romney
96b029718b test(qa): use full-turn budget for native stop recovery (#99656)
* test(qa): warm native command session scenario

* test(qa): wait for native abort cleanup

* test(qa): use full-turn budget for native stop recovery
2026-07-03 15:56:46 -07:00
Dallin Romney
04601ae81a refactor(qa): simplify transport adapter contracts (#99632)
* feat(qa): add transport capability contracts

* fix(qa): scope sequence support by channel

* refactor(qa): simplify transport adapter contracts

* fix(qa): clarify unsupported transport method errors
2026-07-03 15:54:27 -07:00
Dallin Romney
677c8ff846 improve: enforce canonical QA scenario ownership (#99628)
* improve: enforce canonical QA scenario ownership

* docs: refresh QA documentation map

* docs: condense QA ownership guidance

* docs: remove QA migration guidance

* refactor: simplify QA scenario ownership checks

* docs: align QA coverage authoring guidance
2026-07-03 15:51:18 -07:00
Peter Steinberger
fbdfd19622 Fix Slack retry for session init conflicts (#99647)
* Fix Slack retry for session init conflicts

* fix(slack): separate native and relay retries

* style(slack): make completion exits explicit

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-03 15:45:36 -07:00
Dallin Romney
0cd936cc77 test(qa): redact script evidence diagnostics (#99629) 2026-07-03 15:42:33 -07:00
Gio Della-Libera
219f27a5ec Expose legacy cron store doctor lint findings (#99211)
Adds a default-disabled Doctor lint check for legacy cron store state while keeping real repair in the existing doctor --fix path.

Verification:
- Focused cron/contribution Vitest passed (119 tests).
- Changed-file oxfmt passed.
- Changed-file oxlint with core tsconfig passed.
- pnpm check:architecture passed.
- SDK surface report passed.
- git diff --check passed.
- Source CLI proof on isolated config/state passed for doctor --lint --json --only core/doctor/legacy-cron-store.
- Exact-head hosted checks are clean/skipped; only superseded auto-response/proof runs were cancelled.

Maintainer notes:
- ClawSweeper: proof sufficient, platinum hermit, exact-head reviewed.
- No public SDK/plugin/config/CLI contract change; default doctor --lint remains unchanged.
2026-07-03 15:28:29 -07:00
Dallin Romney
1cab479f78 fix(qa): defer partial Crabline recorder rows (#99649) 2026-07-03 15:20:47 -07:00
github-actions[bot]
f0da0002b4 chore(i18n): refresh native zh-CN locale 2026-07-03 22:19:51 +00:00
Peter Steinberger
af420dbee5 fix(macos): remote mode fails with managed SSH aliases (#99661)
* fix(macos): support managed SSH aliases safely

* test(macos): serialize gateway state isolation
2026-07-03 15:19:01 -07:00
github-actions[bot]
525c4c7ce1 chore(i18n): refresh native sv locale 2026-07-03 21:36:32 +00:00
github-actions[bot]
4b1e0deb33 chore(i18n): refresh native ru locale 2026-07-03 21:34:55 +00:00
github-actions[bot]
c63e9f9bf8 chore(i18n): refresh native fa locale 2026-07-03 21:34:40 +00:00
github-actions[bot]
2191c2eb1f chore(i18n): refresh native nl locale 2026-07-03 21:33:09 +00:00
github-actions[bot]
cb2547f329 chore(i18n): refresh native vi locale 2026-07-03 21:32:54 +00:00
github-actions[bot]
d7d280fc78 chore(i18n): refresh native th locale 2026-07-03 21:31:25 +00:00
github-actions[bot]
a34425273c chore(i18n): refresh native pl locale 2026-07-03 21:31:13 +00:00
github-actions[bot]
10500a63fa chore(i18n): refresh native uk locale 2026-07-03 21:29:30 +00:00
github-actions[bot]
576169e6d2 chore(i18n): refresh native id locale 2026-07-03 21:29:27 +00: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
github-actions[bot]
ba9d167e1a chore(i18n): refresh native tr locale 2026-07-03 21:27:37 +00:00
github-actions[bot]
51a07aec27 chore(i18n): refresh native it locale 2026-07-03 21:27:30 +00:00
github-actions[bot]
27f9ae0c0a chore(i18n): refresh native ar locale 2026-07-03 21:25:46 +00:00
github-actions[bot]
ee00cc7c94 chore(i18n): refresh native hi locale 2026-07-03 21:25:39 +00:00
github-actions[bot]
3542585de5 chore(i18n): refresh native ko locale 2026-07-03 21:23:46 +00:00
github-actions[bot]
f371a2f202 chore(i18n): refresh native fr locale 2026-07-03 21:23:42 +00:00
SunnyShu
19d621e760 fix(auto-reply): strip stray punctuation before silent-reply token detection (#98224)
* [AI] fix(auto-reply): strip stray punctuation before silent-reply token detection

When the model emits .NO_REPLY or *NO_REPLY* instead of bare NO_REPLY,
isSilentReplyText() failed to detect it because the regex requires
the text to consist only of the token with optional whitespace.

Add stripEdgeNonAlnum() that strips leading/trailing non-letter,
non-number characters (Unicode-aware) before the regex test. This
catches stray punctuation while preserving the existing safeguard
against suppressing mixed-content text.

Related to #98166

Co-Authored-By: Claude <noreply@anthropic.com>

* [AI] fix: strip only punct not emoji before silent-reply detection

Change stripEdgeNonAlnum to stripEdgePunct: strip only punctuation (\p{P}) instead of all non-letter/non-number characters. Emoji would be stripped by the former, causing false silent-reply on mixed content.

Related to #98166

Co-Authored-By: Claude <noreply@anthropic.com>

* [AI] fix: preserve exact custom-token match before edge-punct normalization

Try exact regex match first, then fall back to stripEdgePunct.
This preserves exact matching for custom tokens whose first/last
character is punctuation (e.g. *SILENT*, #QUIET#), while still
catching the common case of NO_REPLY wrapped in stray punctuation.

Add regression test for punctuation-edged custom tokens.

ClawSweeper: https://github.com/openclaw/openclaw/pull/98224#issuecomment-4846415801

Related to #98166

Co-Authored-By: Claude <noreply@anthropic.com>

* [AI] fix: handle whitespace-wrapped punctuation in silent-reply fallback

Trim whitespace before stripping edge punctuation in the fallback
path so variants like " .NO_REPLY " and "NO_REPLY. " are also
caught by the silent-reply detector.

Add regression coverage for whitespace-wrapped edge punctuation.

ClawSweeper: https://github.com/openclaw/openclaw/pull/98224#issuecomment-4846415801

Related to #98166

Co-Authored-By: Claude <noreply@anthropic.com>

* test(auto-reply): tighten silent-token boundaries

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-03 14:22:51 -07:00
github-actions[bot]
e0b2ddad6c chore(i18n): refresh native ja-JP locale 2026-07-03 21:21:59 +00:00
github-actions[bot]
748bfee90d chore(i18n): refresh native es locale 2026-07-03 21:21:45 +00:00
github-actions[bot]
2a1e1184f5 chore(i18n): refresh native de locale 2026-07-03 21:20:10 +00:00
github-actions[bot]
cc1d61bd3c chore(i18n): refresh native pt-BR locale 2026-07-03 21:19:58 +00:00
github-actions[bot]
ef1474dd3d chore(i18n): refresh native zh-TW locale 2026-07-03 21:18:24 +00:00
github-actions[bot]
261d79a9a4 chore(i18n): refresh native zh-CN locale 2026-07-03 21:18:10 +00:00
PollyBot13
671c315072 feat: clarify iOS Location Always permission flow (#99247)
* feat: clarify iOS Location Always permission flow

* fix(ios): avoid stale location permission summary

* fix(ios): clarify disabled location permission grants

* fix(ios): sync external location grants into settings

* chore(ios): refresh native i18n inventory

* fix(ios): preserve location off during permission sync

* fix(ios): preserve while using during location sync

* fix(ios): wait for location permission prompts

* fix(ios): reconcile significant location monitoring

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-03 14:16:20 -07:00
LZY3538
7d593bb9ae fix: log terminal session persistence failures (#97839)
* fix: log terminal session persistence failures

* fix: format terminal persistence error logs

* fix(gateway): identify failed terminal persistence

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-03 14:12:16 -07:00
pick-cat
09dc880f89 fix(media): guard ffprobe JSON parse against malformed output (#98613)
* fix(media): guard ffprobe JSON parse against malformed output

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* chore: trigger CI re-run

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* chore: trigger CI re-run

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(media): validate ffprobe JSON shape

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-03 14:11:14 -07:00
xingzhou
1755a9dc5b fix(daemon): launch env wrapper through shell (#89967) 2026-07-03 13:56:37 -07:00
Dallin Romney
010b617463 test: avoid cross-os socket close race (#99642) 2026-07-03 13:23:11 -07:00
Sahil Satralkar
d29a4f9c2f improve: tighten iOS Control row density (#99468)
* improve: tighten iOS Control row density

* test(ios): drop brittle control row source guards

* chore(i18n): sync iOS Control inventory

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-03 13:17:42 -07:00