Commit Graph

63670 Commits

Author SHA1 Message Date
Dallin Romney
5546d6c828 refactor(infra): harden shared error normalization 2026-07-03 15:40:28 -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
Dallin Romney
5361e5a0b4 test(qa): share script evidence writer (#99374) 2026-07-03 12:59:23 -07:00
NianJiu
51859fe0e4 fix ios node invoke permission prompts (#99477)
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com>
2026-07-03 12:49:20 -07:00
Ben.Li
b623ff738d fix(android): parse talk directive aliases case-insensitively (#99592) 2026-07-03 12:41:08 -07:00
Ben.Li
b6e6799755 fix(android): block self-package notification forwarding in allowlist mode (#99568)
Always reject the OpenClaw app package in allowsPackage, matching the
blocklist fail-closed behavior and preventing gateway/node forwarding loops.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 12:38:58 -07:00
Ben.Li
57d0747185 fix(android): filter device and internal sessions from thread picker (#99557)
* fix(android): filter device and internal sessions from thread picker

Align SessionFilters with iOS isRecentChatSession so agent device sessions,
internal main aliases, and onboarding keys do not appear in recent choices.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(android): tighten chat session filtering

* fix(android): preserve access to stale chat sessions

* chore(android): sync native i18n inventory

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-03 12:35:03 -07:00
github-actions[bot]
7cc3cb0d28 chore(i18n): refresh native sv locale 2026-07-03 19:30:49 +00:00
github-actions[bot]
cab81470d9 chore(i18n): refresh native ru locale 2026-07-03 19:29:24 +00:00
github-actions[bot]
cb9ac50f5b chore(i18n): refresh native fa locale 2026-07-03 19:29:03 +00:00
github-actions[bot]
a3ef37b991 chore(i18n): refresh native nl locale 2026-07-03 19:27:46 +00:00
github-actions[bot]
8cc1786f49 chore(i18n): refresh native vi locale 2026-07-03 19:27:19 +00:00
github-actions[bot]
355fa773f8 chore(i18n): refresh native th locale 2026-07-03 19:26:01 +00:00
github-actions[bot]
72a8098408 chore(i18n): refresh native pl locale 2026-07-03 19:25:43 +00:00
github-actions[bot]
eade8f1c1a chore(i18n): refresh native id locale 2026-07-03 19:24:13 +00:00
github-actions[bot]
dcc4fa8746 chore(i18n): refresh native uk locale 2026-07-03 19:23:52 +00:00
github-actions[bot]
b043adf192 chore(i18n): refresh native tr locale 2026-07-03 19:22:31 +00:00
github-actions[bot]
ca258fb945 chore(i18n): refresh native it locale 2026-07-03 19:22:12 +00:00
github-actions[bot]
141b2cf4d1 chore(i18n): refresh native ar locale 2026-07-03 19:20:46 +00:00