Val Alexander
da982a3118
fix(macos): avoid Tailscale hydration config rewrites
...
Fixes #59545 .
Suppress the macOS General/Tailscale initial hydration apply path from rewriting openclaw.json when settings are unchanged, and add regression coverage for gateway/auth/meta/wizard preservation.
Verified on the retry head 8a30aa831c :
- GitHub CI completed successfully, including macos-node, macos-swift, check-docs, security, Workflow Sanity, and OpenGrep.
- Review threads were empty before merge.
- Duplicate sweep kept #59545 as the canonical standalone issue; no duplicate closures were appropriate.
2026-05-02 03:23:00 -05:00
Fuma2013
3f3ed80300
fix(macos): route Talk providers through gateway TTS
...
Route remote and custom macOS Talk providers through Gateway talk.speak before falling back to the system voice.\n\nThanks @Fuma2013.
2026-05-02 08:57:26 +01:00
Val Alexander
cb9d7884cc
fix(ui): preserve local session continuity ( #75948 )
...
Fixes #63195 .
Closes #68162 .
Closes #73546 .
- Keep Control UI chat sends bound to the history-backed session id across reconnects.
- Accept chat.send sessionId at the gateway/protocol boundary and update generated Swift models.
- Resume the last selected TUI session for the same gateway/agent/scope when still present.
Validated by exact-SHA CI on PR #75948 .
2026-05-02 00:08:01 -05:00
Val Alexander
7c2802b212
fix(macos): preserve gateway auth config writes
...
Preserve existing gateway.auth and unrelated config keys during macOS app fallback writes, while requiring explicit opt-in for auth mutation paths.\n\nValidation:\n- swift test --package-path apps/macos --filter OpenClawIPCTests.OpenClawConfigFileTests\n- swift test --package-path apps/macos --filter OpenClawIPCTests.ConfigStoreTests\n- node scripts/check-changed.mjs CHANGELOG.md apps/macos/Sources/OpenClaw/ConfigStore.swift apps/macos/Sources/OpenClaw/OpenClawConfigFile.swift apps/macos/Sources/OpenClaw/TailscaleIntegrationSection.swift apps/macos/Tests/OpenClawIPCTests/OpenClawConfigFileTests.swift\n\nCloses #75631 .
2026-05-01 23:45:55 -05:00
Peter Steinberger
ecef57831c
fix: route macos voice wake to selected session
2026-05-02 02:54:33 +01:00
Peter Steinberger
d6f84a4114
test: update onboarding wizard step fixtures
2026-05-02 02:47:34 +01:00
Peter Steinberger
c1996f5d75
fix: downmix speech buffers for macos voice
2026-05-02 02:47:33 +01:00
Peter Steinberger
ff45bc1f88
fix: render talk transcripts in native webchat
2026-05-02 02:47:33 +01:00
Peter Steinberger
f8e16be711
fix: accept trigger-only voice wake test
2026-05-02 02:28:49 +01:00
Peter Steinberger
0df90d9b8d
fix: trace plugin tool factory timings ( #75823 )
...
* fix: trace plugin tool factory timings
* docs: document plugin tool timing traces
* fix: keep plugin tools mcp stdout clean
* test: type plugin tools mcp mock
* test: complete plugin tools mcp mock
* test: preserve console helpers in mcp test
* chore: refresh generated protocol models
2026-05-01 23:14:18 +01:00
Vincent Koc
aaa2f32175
fix(app): retry device tokens on pinned gateways ( #75537 )
2026-05-01 04:55:59 -07:00
NVIDIAN
ef0eb12615
feat(gateway): add SDK-facing tools.invoke RPC
...
Adds the SDK-facing tools.invoke Gateway RPC for #74705 .
Reuses the /tools/invoke policy path for tool policy, deny-list, owner filtering, before-tool-call hooks, session/agent scoping, and plugin approval handling. Returns typed SDK approval/refusal/success results while preserving HTTP compatibility and uses idempotencyKey as the stable tool-call id.
Includes protocol schema exports, method scope/list registration, SDK helper/types, docs, generated Swift models, tests, and changelog credit.
2026-05-01 03:16:53 -05:00
Peter Steinberger
250376f885
fix: simplify bundled runtime dependency repair ( #75183 )
...
Summary:
- Merged fix: simplify bundled runtime dependency repair after ClawSweeper review.
ClawSweeper fixups:
- Included follow-up commit: fix: verify cached bundled runtime roots
- Included follow-up commit: refactor: simplify plugin runtime startup paths
- Included follow-up commit: refactor: trim plugin startup policy helpers
- Included follow-up commit: refactor: trust package manager runtime deps materialization
- Included follow-up commit: fix: narrow channel runtime deps skip policy
- Included follow-up commit: refactor: defer startup plugin runtime deps
- Ran the ClawSweeper repair loop before final review.
Validation:
- ClawSweeper review passed for head 04dc566534 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 04dc566534
Review: https://github.com/openclaw/openclaw/pull/75183#issuecomment-4358383786
Co-authored-by: Peter Steinberger <steipete@gmail.com >
Co-authored-by: Shakker <shakkerdroid@gmail.com >
Co-authored-by: clawsweeper-repair <clawsweeper-repair@users.noreply.github.com >
2026-05-01 07:49:02 +00:00
Nimrod Gutman
f42645037f
refactor(macos): move sessions into context submenu ( #75489 )
...
Merged via squash.
Prepared head SHA: bbf5450572
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
Reviewed-by: @ngutman
2026-05-01 10:22:29 +03:00
Nimrod Gutman
b0b627e5a9
fix(macos): reserve exec approval dialog layout space ( #75470 )
...
Merged via squash.
Prepared head SHA: 8a3ca92150
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
Reviewed-by: @ngutman
2026-05-01 09:32:47 +03:00
Val Alexander
df0ee092f0
fix: harden gateway recovery diagnostics and media delivery
...
Harden gateway recovery diagnostics and media delivery.\n\n- Accept gateway send asVoice and map it to outbound audioAsVoice.\n- Preserve generated Swift protocol models for the gateway send schema.\n- Keep the broader recovery hardening for install/update/status/vector/TTS paths in one reviewed PR.\n\nProof:\n- Focused local gateway/outbound/update/status/doctor/sqlite-vec tests passed.\n- oxfmt --check and git diff --check passed.\n- Testbox OPENCLAW_TESTBOX=1 pnpm check:changed passed at 2f5ef650e97763a61ff43c28e61707db84c50060.\n- GitHub required checks are green at the merge SHA; the qa-lab parity gate is optional/surface-only and was still pending.
2026-04-30 21:46:22 -05:00
Val Alexander
a102f4dede
fix(gateway): harden artifact RPCs
...
Add Gateway artifact RPCs and SDK helpers for list/get/download, with transcript provenance checks, safer download source handling, task/run/session coverage, generated protocol models, docs, and the refreshed generated config schema baseline.
Closes #74706 .
Refs #74898 , #74769 , #74804 , #74786 .
2026-04-30 19:35:48 -05:00
Peter Steinberger
1ad50a36ac
chore(release): forward-port 2026.4.29 fixes and bump 2026.4.30
2026-05-01 01:06:13 +01:00
Nimrod Gutman
58a0b077c1
fix(macos): keep A2UI canvas content visible ( #75039 )
2026-04-30 14:21:06 +03:00
Nimrod Gutman
eecd758e39
fix(macos): repair stale gateway tls pins ( #75038 )
...
Merged via squash.
Prepared head SHA: 35196f8f71
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
Reviewed-by: @ngutman
2026-04-30 14:14:03 +03:00
Luka Dolenc
07605c79ad
style(macos): order attach-only test modifiers
2026-04-30 04:10:54 +01:00
Luka Dolenc
25d2e9bdac
fix(macos): keep attach-only from stopping gateway launchd
2026-04-30 04:10:54 +01:00
Peter Steinberger
29de89a8d9
fix: align SDK wait and protocol contracts
2026-04-30 00:51:24 +01:00
samzong
443ca4865d
[Feat] surface spawnedBy in chat and agent broadcast payloads ( #63244 )
...
Merged via squash.
Prepared head SHA: ff0fe5db38
Co-authored-by: samzong <13782141+samzong@users.noreply.github.com >
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com >
Reviewed-by: @frankekn
2026-04-29 20:48:59 +08:00
Vincent Koc
13390fcac8
docs(apps/ios/readme): list authenticated background presence beacons
...
For bdba90a20b : apps/ios/README.md "What Works Now (Concrete)" section
omitted the authenticated background `node.presence.alive` beacon
feature that shipped on iOS first, even though apps/android/README.md
already lists it on the rebuild checklist. Adds a matching bullet so
the iOS README reflects the gateway last-seen metadata update path
across foreground/background transitions.
2026-04-29 00:09:25 -07:00
Peter Steinberger
e5dc0e6d15
fix: expose agent runtime status metadata
2026-04-29 05:02:04 +01:00
pashpashpash
6ce1058296
Wire diagnostics through the core chat command ( #72936 )
...
* feat: wire codex diagnostics feedback
* fix: harden codex diagnostics hints
* fix: neutralize codex diagnostics output
* fix: tighten codex diagnostics safeguards
* fix: bound codex diagnostics feedback output
* fix: tighten codex diagnostics throttling
* fix: confirm codex diagnostics uploads
* docs: clarify codex diagnostics add-on
* fix: route diagnostics through core command
* fix: tighten diagnostics authorization
* fix: pin diagnostics to bundled codex command
* fix: limit owner status in plugin commands
* fix: scope diagnostics confirmations
* fix: scope codex diagnostics cooldowns
* fix: harden codex diagnostics ownership scopes
* fix: harden diagnostics command trust and display
* fix: keep diagnostics command trust internal
* fix: clarify diagnostics exec boundary
* fix: consume codex diagnostics confirmations atomically
* test: include codex diagnostics binding metadata
* test: use string codex binding timestamps
* fix: keep reserved command trust host-only
* fix: harden diagnostics trust and resume hints
* wire diagnostics through exec approval
* fix: keep diagnostics tests aligned with bundled root trust
* fix telegram diagnostics owner auth
* route trajectory exports through exec approval
* fix trajectory exec command encoding
* fix telegram group owner auth
* fix export trajectory approval hardening
* fix pairing command owner bootstrap
* fix telegram owner exec approvals
* fix: make diagnostics approval flow pasteable
* fix: route native sensitive command followups
* fix: invoke diagnostics exports with current cli
* fix: refresh exec approval protocol models
* fix: list codex diagnostics from thread bindings
* fix: fold codex diagnostics into exec approval
* fix: preserve diagnostics approval line breaks
* docs: clarify diagnostics codex workflow
2026-04-29 07:40:37 +09:00
Vincent Koc
7e028917c0
fix(android): remediate app CodeQL alerts
2026-04-28 01:37:01 -07:00
Peter Steinberger
8178b62187
fix(android): include third-party sensitive handlers
2026-04-28 09:27:59 +01:00
Peter Steinberger
2276f660f3
refactor(android): split sensitive features by flavor
2026-04-28 09:27:39 +01:00
Peter Steinberger
0ef6702af3
build(android): update dependencies and lint config
2026-04-28 09:10:13 +01:00
Peter Steinberger
04e774eeac
feat(android): add authenticated presence alive beacons ( #73373 )
...
* feat: add Android presence alive beacons
* fix: harden Android presence beacon review findings
* fix: address Android presence review findings
2026-04-28 08:55:06 +01:00
Peter Steinberger
bdba90a20b
feat: add authenticated iOS background presence beacon ( #73330 )
...
* feat: add iOS background presence beacon
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
* fix: keep iOS background reconnects ahead of beacon throttle
* build: refresh gateway protocol swift models
* fix: emit swift protocol string enums
---------
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
2026-04-28 08:10:35 +01:00
Vincent Koc
d525d6486d
fix(android): keep camera temp files private
...
Fix Android CodeQL local temp-file disclosure findings in camera capture.
2026-04-28 00:06:12 -07:00
Vincent Koc
29a34e0a4d
fix(android): use absolute logcat path
...
Fix Android CodeQL relative path command finding in debug log collection.
2026-04-27 22:40:00 -07:00
Vincent Koc
2c58c5d4ec
fix(android): avoid trust-all TLS probing
...
Fix Android CodeQL insecure trust manager finding in gateway TLS probing.
2026-04-27 22:26:27 -07:00
Vincent Koc
2809630036
fix(android): disable app data backup ( #73281 )
2026-04-27 22:01:28 -07:00
Vincent Koc
2bce63cb65
fix(android): harden canvas webview bridge ( #73240 )
...
* fix(android): harden canvas webview bridge
* fix(android): make canvas content access hardening explicit
* fix(android): keep webview hardening inline for CodeQL
* fix(android): avoid webview getter false positive
2026-04-27 21:41:01 -07:00
Peter Steinberger
b8c44bfc82
fix: restore main ci and speed tests
2026-04-28 05:34:28 +01:00
Peter Steinberger
001bf47727
chore(release): open 2026.4.27 development
2026-04-28 05:28:04 +01:00
Peter Steinberger
548f946ffd
test(macos): remove conflict marker
2026-04-28 05:28:04 +01:00
Peter Steinberger
5dec95f35c
test(macos): stabilize gateway control test
2026-04-28 05:28:04 +01:00
Vincent Koc
4102f8d28d
fix(macos): parse model catalog without JavaScriptCore
...
Replaces JavaScriptCore catalog evaluation with a bounded fail-closed object-literal parser for the generated macOS model catalog.\n\nValidation: macos-node, macos-swift, security-fast, security-scm-fast, security-dependency-audit, workflow sanity checks passed on PR #73112 .
2026-04-27 20:16:51 -07:00
Peter Steinberger
482c74b724
refactor: remove narrow SwiftLint suppressions
2026-04-28 02:38:44 +01:00
Peter Steinberger
8db21cdcde
chore: update app Swift package releases
2026-04-28 02:28:05 +01:00
Peter Steinberger
b294f7c467
fix: harden ios app build hygiene
2026-04-28 01:42:10 +01:00
Peter Steinberger
c72f8f357b
fix: harden mac app computer use docs
2026-04-28 01:25:31 +01:00
EVA
1adaa28dc8
[plugin sdk] Add generic plugin host-hook contracts ( #72287 )
...
Merged via squash.
Prepared head SHA: 68e5f2ce19
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-27 17:07:02 -07:00
Peter Steinberger
63011fcbb0
ci: update generated protocol swift models
2026-04-27 14:42:27 +01:00
Peter Steinberger
23d047dff5
ci: update generated protocol models
2026-04-27 14:31:13 +01:00