github-actions[bot]
f188c664c0
chore(i18n): refresh native id locale
2026-07-03 14:09:21 +00:00
github-actions[bot]
ee9f61d724
chore(i18n): refresh native uk locale
2026-07-03 14:08:44 +00:00
github-actions[bot]
0420aefb1d
chore(i18n): refresh native tr locale
2026-07-03 14:07:30 +00:00
github-actions[bot]
a1f6accef4
chore(i18n): refresh native it locale
2026-07-03 14:07:01 +00:00
github-actions[bot]
3db6fb9972
chore(i18n): refresh native ar locale
2026-07-03 14:05:57 +00:00
github-actions[bot]
48c3f4b103
chore(i18n): refresh native hi locale
2026-07-03 14:05:24 +00:00
github-actions[bot]
a775f9f78e
chore(i18n): refresh native fr locale
2026-07-03 14:04:20 +00:00
github-actions[bot]
bdc625866b
chore(i18n): refresh native ko locale
2026-07-03 14:03:49 +00:00
github-actions[bot]
aabe44f638
chore(i18n): refresh native ja-JP locale
2026-07-03 14:02:38 +00:00
github-actions[bot]
6c4ac0c71d
chore(i18n): refresh native es locale
2026-07-03 14:02:16 +00:00
github-actions[bot]
375def8604
chore(i18n): refresh native de locale
2026-07-03 14:00:50 +00:00
github-actions[bot]
12e17ec052
chore(i18n): refresh native pt-BR locale
2026-07-03 14:00:39 +00:00
github-actions[bot]
e31fa360d9
chore(i18n): refresh native zh-CN locale
2026-07-03 13:59:01 +00:00
github-actions[bot]
a60686dbc3
chore(i18n): refresh native zh-TW locale
2026-07-03 13:58:57 +00:00
christopheraaronhogg
ab2761f3a5
improve: make native chat scrolling reader-managed ( #98258 )
...
* improve native chat scroll behavior
* add native chat scroll proof harnesses
* fix(android): jump native chat to live content
* fix(mobile): harden reader-managed chat scrolling
* fix(android): preserve prompt anchor through completion
* fix(android): gate follow changes on user scroll
* fix(ios): handle optimistic chat rollback
* fix(mobile): harden reader boundary transitions
* fix(mobile): expose newer content after restore
* fix(android): preserve restored reader identity
* test(ios): prove reader pause and resume
* fix(android): scope restored reader state to session
* chore(i18n): sync native chat inventory
* fix(mobile): harden reader scroll recovery
* chore(i18n): sync native inventory after rebase
---------
Co-authored-by: Chris Hogg <chrishogg@Chriss-Mac-mini-3.local >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 06:57:16 -07:00
Jesse Merhi
8c915f0685
feat(signal): add target aliases ( #95738 )
...
* feat(signal): add target aliases
* fix(signal): canonicalize alias delivery targets
* fix(signal): harden alias target resolution
* test(signal): cover formatted media aliases
* test(signal): align approval alias proof with request shape
* Reuse Signal alias map for directory listing
2026-07-03 23:40:10 +10:00
Masato Hoshino
153fed790a
fix(gateway): declare the dev agent required by the gateway e2e session key ( #99520 )
2026-07-03 05:30:09 -07:00
Eva
414ecd2b96
Preserve Codex output after missing turn completion ( #99217 )
...
* Preserve Codex output after missing turn completion
* fix: narrow Codex completion-timeout output recovery
* test(codex): narrow binding path guard
* fix: narrow Codex completion-timeout output recovery
* test(codex): narrow binding path guard
* fix(codex): preserve id-less post-tool replies
---------
Co-authored-by: Sedrak-Hovhannisyan <264150421+Sedrak-Hovhannisyan@users.noreply.github.com >
Co-authored-by: Eva <eva@100yen.org >
Co-authored-by: Jason (Json) <263060202+fuller-stack-dev@users.noreply.github.com >
2026-07-03 05:07:54 -07:00
Peter Lee
4abdf0f3b5
fix(logging): redact Telegram bot tokens from timeout URLs ( #99428 )
...
* fix(net-policy): redact Telegram bot tokens from timeout URLs
* fix(net-policy): extend Telegram bot token redaction to all hostnames
* refactor(net-policy): centralize bot token URL redaction
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 05:05:38 -07:00
qingminlong
f5c700bc4b
fix(ui): keep landscape composer compact ( #98683 )
...
* fix(ui): keep landscape composer compact
* test(ui): cover landscape composer adjunct scroll
* fix(ui): keep active slash option visible
* fix(ui): constrain slash menu keyboard scroll
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 05:00:43 -07:00
Jesse Merhi
8abc633cf8
Add Signal status reaction lifecycle ( #98791 )
2026-07-03 21:42:39 +10:00
github-actions[bot]
0e22e54431
chore(i18n): refresh native sv locale
2026-07-03 11:42:13 +00:00
sheyanmin
d825a6cc8e
fix(subagents): match requesterSessionKey when controllerSessionKey differs in list filter ( #99410 )
...
* fix(subagents): match requesterSessionKey when controllerSessionKey differs in list filter
The listControlledSubagentRuns filter used a fallback (||) to pick one
key for matching. When controllerSessionKey was set but did not match the
caller's session key, the filter returned false even though
requesterSessionKey could have matched.
Change the filter to OR logic: if either controllerSessionKey or
requesterSessionKey matches the caller key, include the run.
Fixes #75593
* fix(subagents): add braces for lint compliance and real behavior proof
- Add braces around if-return statements to pass eslint(curly)
- Add evidence script verifying OR-match filter behavior
Evidence (3 scenarios, all pass):
S1: controllerKey=agent:main:main, requesterKey=telegram → 1 result (PASS)
S2: controllerKey=telegram, requesterKey=agent:main:main → 1 result (PASS)
S3: both keys unrelated → 0 results (PASS — scope isolation)
🦞 diamond lobster: L2 evidence (isolated tsx + real exports)
Ref. https://github.com/openclaw/openclaw/pull/99410
* fix(subagents): replace evidence scripts with focused regression tests
- Remove evidence/ scripts (failing check-guards per review)
- Add listControlledSubagentRuns test coverage in subagent-control.test.ts
- Three scenarios: controller match, requester match (new fix), scope isolation
Ref. https://github.com/openclaw/openclaw/pull/99410
* refactor(subagents): clarify read visibility ownership
---------
Co-authored-by: sheyanmin <sheyanmin@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 04:41:36 -07:00
github-actions[bot]
ba449f240d
chore(i18n): refresh native ru locale
2026-07-03 11:40:49 +00:00
NianJiu
d354e9eb2b
fix: long mobile media recordings time out ( #99455 )
...
* fix node media recording invoke timeouts
* refactor(agents): separate recording timeout budgets
---------
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 04:40:42 -07:00
github-actions[bot]
97955d969d
chore(i18n): refresh native fa locale
2026-07-03 11:40:10 +00:00
github-actions[bot]
0cc9927577
chore(i18n): refresh native nl locale
2026-07-03 11:38:44 +00:00
ooiuuii
e51b446bae
fix: redact dotted API key activity previews ( #99460 )
...
* fix: redact dotted API key activity previews
* fix(ui): redact quoted activity secrets
* fix(ui): handle quoted secret punctuation
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 04:38:28 -07:00
github-actions[bot]
0e98ba4391
chore(i18n): refresh native vi locale
2026-07-03 11:37:52 +00:00
github-actions[bot]
255e2518de
chore(i18n): refresh native th locale
2026-07-03 11:36:32 +00:00
github-actions[bot]
c9c8f6c9f6
chore(i18n): refresh native pl locale
2026-07-03 11:35:42 +00:00
github-actions[bot]
c34e79e729
chore(i18n): refresh native id locale
2026-07-03 11:34:23 +00:00
github-actions[bot]
8af3aa0b1b
chore(i18n): refresh native uk locale
2026-07-03 11:33:47 +00:00
github-actions[bot]
c3bcb9fa21
chore(i18n): refresh native tr locale
2026-07-03 11:32:30 +00:00
zengLingbiao
459b93e3dd
fix(config): use Object.hasOwn instead of in operator in restoreOriginalValueOrThrow ( #99152 )
...
* fix(config): use Object.hasOwn instead of in operator in restoreOriginalValueOrThrow
* test(config): add regression test for prototype-named keys in restoreRedactedValues
* test(config): focus prototype restore regression
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 04:32:25 -07:00
github-actions[bot]
cd3b4eee7d
chore(i18n): refresh native it locale
2026-07-03 11:31:57 +00:00
xingzhou
749c0bf958
fix(agents): preserve fd find failures ( #99446 )
...
* fix(agents): preserve fd find failures
* test(agents): use tracked temp dirs in find test
* test(scripts): update temp-dir routing expectation
* test(agents): make fd failure fixture deterministic
* test(agents): isolate fd process failure fixture
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 04:30:41 -07:00
github-actions[bot]
b52d98861e
chore(i18n): refresh native ar locale
2026-07-03 11:30:05 +00:00
github-actions[bot]
e5cf67ea1d
chore(i18n): refresh native hi locale
2026-07-03 11:29:59 +00:00
github-actions[bot]
e6f8788bf5
chore(i18n): refresh native ko locale
2026-07-03 11:27:53 +00:00
github-actions[bot]
9db7ec5edd
chore(i18n): refresh native fr locale
2026-07-03 11:27:48 +00:00
github-actions[bot]
1dd52307fc
chore(i18n): refresh native ja-JP locale
2026-07-03 11:25:56 +00:00
github-actions[bot]
4fa4c9e06e
chore(i18n): refresh native es locale
2026-07-03 11:25:47 +00:00
github-actions[bot]
1b076209c4
chore(i18n): refresh native de locale
2026-07-03 11:24:06 +00:00
github-actions[bot]
ad74b322ba
chore(i18n): refresh native pt-BR locale
2026-07-03 11:23:55 +00:00
github-actions[bot]
3d438588c5
chore(i18n): refresh native zh-TW locale
2026-07-03 11:22:09 +00:00
github-actions[bot]
28062c868c
chore(i18n): refresh native zh-CN locale
2026-07-03 11:22:03 +00:00
Jesse Merhi
64318d7624
Rework Android gateway onboarding setup ( #98752 )
...
* feat(android): rework gateway onboarding setup
* fix(android): restore protocol mismatch onboarding guidance
* fix(android): sync onboarding native i18n
* fix(android): preserve LAN manual setup prefill
* fix(android): refine onboarding node approval step
* fix(android): polish onboarding recovery actions
* test(android): cover onboarding protocol mismatch copy
* fix(android): separate onboarding node approval
* fix(android): guard onboarding node approval transitions
* fix(android): keep onboarding approval states reachable
* fix(android): wait for node access before onboarding continue
* fix(android): refresh node approval after operator handoff
* fix(android): refresh onboarding approval states
* fix(android): require approval after onboarding permission changes
* fix(android): keep onboarding approval gates active
* fix(android): preserve permission reapproval state
* fix(android): skip node approval on legacy gateways
* fix(android): wait for node approval refresh
* fix(android): preserve camera setting on upgrade
* fix(android): avoid stuck approval check spinner
* fix(android): request talk secrets on operator connects
* fix(android): avoid missed node approval completion
* fix(android): keep nearby LAN setup local
* fix(android): complete onboarding after node approval
* fix(android): reconcile onboarding with gateway auth plans
* chore(android): refresh native i18n inventory after rebase
* Fix Android onboarding review edge cases
* Fix native i18n onboarding sentinels
2026-07-03 21:20:12 +10:00
Jesse Merhi
776b34a4e6
fix: chat.send no reply when thinking metadata is set ( #98855 )
...
* fix(gateway): preserve chat thinking metadata
* test: harden chat thinking metadata coverage
* test: harden chat thinking metadata coverage
2026-07-03 21:03:41 +10:00
qingminlong
3e2d373d43
fix(cli): reject unsafe sessions tail counts ( #99398 )
...
* fix(cli): reject unsafe sessions tail counts
* fix(cli): reuse strict tail count parser
2026-07-03 03:53:35 -07:00