Peter Steinberger
c3a2701c45
fix(android): delay operator bootstrap reconnect until stored auth
2026-04-04 16:23:37 +09:00
Peter Steinberger
32d2654340
build: bump version to 2026.4.4
2026-04-04 16:09:42 +09:00
Peter Steinberger
20266ff7dd
fix: preserve mobile bootstrap auth fallback ( #60238 ) (thanks @ngutman)
2026-04-04 15:57:38 +09:00
Nimrod Gutman
226ca1f324
fix(auth): address qr bootstrap review feedback
2026-04-04 15:57:38 +09:00
Nimrod Gutman
a9140abea6
fix(auth): hand off qr bootstrap to bounded device tokens
2026-04-04 15:57:38 +09:00
Peter Steinberger
33e10c4772
fix(ci): repair bundled test selection and compat typing
2026-04-04 05:56:55 +01:00
Ayaan Zaidi
945b198c76
fix(android): allow cleartext LAN gateways
2026-04-04 07:36:18 +05:30
Michael Faath
85c76e83b7
fix: restore android talk mode reply tts ( #60306 ) (thanks @MKV21)
...
* Android: keep talk-mode session key synced for TTS replies
* Android: harden talk-mode reply playback state
* Android: harden talk-mode playback cancellation
* Android: avoid stale talk-mode playback preemption
* Android: tighten talk-mode playback claiming
* fix: distill android talk-mode playback ownership
* fix: restore android talk mode reply tts (#60306 ) (thanks @MKV21)
---------
Co-authored-by: Michael Faath <michaelfaath@macbookpro.speedport.ip>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-04 07:28:56 +05:30
Peter Steinberger
de2eaccfce
fix: restore discord startup logging and boundary bootstrap
2026-04-04 00:16:10 +01:00
Vincent Koc
50e1eb56d7
fix(security): harden discord proxy and bundled channel activation ( #60455 )
...
* fix(security): tighten discord proxy and mobile tls guards
* fix(plugins): enforce allowlists for bundled channels
* fix(types): align callers with removed legacy config aliases
* fix(security): preserve bundled channel opt-in and ipv6 proxies
2026-04-04 02:48:52 +09:00
pgondhi987
b48b528b02
fix(skills): block UV_PYTHON in workspace dotenv and harden uv installer env [AI] ( #59178 )
...
* fix: address issue
* fix: finalize issue changes
* fix: address PR review feedback
* Changelog: note uv installer env hardening
---------
Co-authored-by: Jacob Tomlinson <jtomlinson@nvidia.com>
2026-04-03 06:50:43 -07:00
Peter Steinberger
85bd5b3ce7
fix(ci): refresh protocol models and align channel tests
2026-04-03 14:13:32 +01:00
Ayaan Zaidi
b9897eec7c
fix: align mobile pairing secure endpoint UX ( #60128 )
2026-04-03 14:51:24 +05:30
Ayaan Zaidi
a2b53522eb
fix(pairing): allow private lan mobile ws
2026-04-03 14:51:24 +05:30
Ayaan Zaidi
acd5734aa9
fix(pairing): align mobile setup with secure endpoints
2026-04-03 14:51:24 +05:30
Peter Steinberger
15b005489d
chore: bump version to 2026.4.3
2026-04-03 04:54:59 +09:00
Peter Steinberger
0ebb69b882
build: set release version to 2026.4.2
2026-04-02 19:09:58 +01:00
Agustin Rivera
49d08382a9
iOS: restrict A2UI action dispatch to trusted canvas URLs ( #58471 )
...
* fix(ios): restrict a2ui bridge trust
* test(ios): cover fragment-strip trust and document raw-string equality
* fix(ios): normalize capability URL before trust comparison in canvas commands
* fix(ios): trim canvas.navigate url before trust comparison
* chore: add changelog for iOS A2UI trust boundary
---------
Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-02 11:51:09 -06:00
Agustin Rivera
a941a4fef9
fix(android): require TLS for remote gateway endpoints ( #58475 )
...
* fix(android): require tls for remote gateway endpoints
* fix(android): expand loopback gateway coverage
* fix(android): validate scanned gateway endpoints
* fix(android): handle mapped loopback literals
* fix(android): allow emulator bridge host
* fix(changelog): note android gateway tls hardening
* fix(android): preserve first-time tls trust prompts
* fix(changelog): drop android gateway entry from pr
* fix(android): scope emulator bridge tls bypass
* fix(android): normalize ipv6 gateway hosts
* fix(android): preserve ipv6 gateway url brackets
* fix(android): preserve auth across tls trust prompt
* fix(android): normalize bracketed ipv6 gateway hosts
* chore: add changelog for Android remote gateway TLS
---------
Co-authored-by: Devin Robison <drobison@nvidia.com>
Co-authored-by: Devin Robison <drobison00@users.noreply.github.com>
2026-04-02 11:23:51 -06:00
Ayaan Zaidi
34a5c47351
fix: preserve Android assistant auto-send queue
2026-04-02 21:39:24 +05:30
Ayaan Zaidi
5d524617e1
fix: clear stale Android assistant auto-send queue
2026-04-02 21:27:14 +05:30
Ayaan Zaidi
186647cb74
feat: auto-send Android assistant prompts
2026-04-02 21:27:14 +05:30
Peter Steinberger
423f7c3487
build: prep 2026.4.2-beta.1 release
2026-04-02 16:33:21 +01:00
Ayaan Zaidi
41b81ca7f8
fix: address Android assistant review feedback
2026-04-02 19:16:34 +05:30
Ayaan Zaidi
59eccef768
feat: add Google Assistant App Actions entrypoint
2026-04-02 19:16:34 +05:30
Ayaan Zaidi
e45b29b247
feat: add Android assistant role entrypoint
2026-04-02 19:16:34 +05:30
Ayaan Zaidi
fcf708665c
feat: route Android assistant launches into chat
2026-04-02 19:16:34 +05:30
Devin Robison
7eae9c0e62
Block remaining host env override pivots ( #59233 )
...
* Blck remaining host env override pivots
* Feedback update
2026-04-02 06:00:26 -07:00
Peter Steinberger
8abba663c5
chore: bump version to 2026.4.2
2026-04-01 19:39:27 +01:00
Peter Steinberger
da64a978e5
chore: prepare 2026.4.1 release
2026-04-01 17:57:10 +01:00
Peter Steinberger
8988894ff7
build: prepare 2026.4.1-beta.1 release
2026-04-01 15:09:19 +01:00
Luke
1654c3a851
feat(gateway): make chat history max chars configurable ( #58900 )
...
* feat(gateway): make chat history max chars configurable
* fix(gateway): address review feedback
* docs(changelog): note configurable chat history limits
2026-04-01 21:08:37 +11:00
Phillip Hampton
350fe63bbf
feat(macos): Voice Wake option to trigger Talk Mode ( #58490 )
...
* feat(macos): add "Trigger Talk Mode" option to Voice Wake settings
When enabled, detecting a wake phrase activates Talk Mode (full voice
conversation: STT -> LLM -> TTS playback) instead of sending a text
message to the chat. Enables hands-free voice assistant UX.
Implementation:
- Constants.swift: new `openclaw.voiceWakeTriggersTalkMode` defaults key
- AppState.swift: new property with UserDefaults persistence + runtime
refresh on change so the toggle takes effect immediately
- VoiceWakeSettings.swift: "Trigger Talk Mode" toggle under Voice Wake,
disabled when Voice Wake is off
- VoiceWakeRuntime.swift: `beginCapture` checks `triggersTalkMode` and
activates Talk Mode directly, skipping the capture/overlay/forward
flow. Pauses the wake listener via `pauseForPushToTalk()` to prevent
two audio pipelines competing on the mic.
- TalkModeController.swift: resumes voice wake listener when Talk Mode
exits by calling `VoiceWakeRuntime.refresh`, mirroring PTT teardown.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address review feedback
- TalkModeController: move VoiceWakeRuntime.refresh() after
TalkModeRuntime.setEnabled(false) completes, preventing mic
contention race where wake listener restarts before Talk Mode
finishes tearing down its audio engine (P1)
- VoiceWakeRuntime: remove redundant haltRecognitionPipeline()
before pauseForPushToTalk() which already calls it via stop() (P2)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: resume wake listener based on enabled state, not toggle value
Check swabbleEnabled instead of voiceWakeTriggersTalkMode when deciding
whether to resume the wake listener after Talk Mode exits. This ensures
the paused listener resumes even if the user toggled "Trigger Talk Mode"
off during an active session. (P2)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: play trigger chime on Talk Mode activation + send chime before TTS
- VoiceWakeRuntime: play the configured trigger chime in the
triggersTalkMode branch before pausing the wake listener. The early
return was skipping the chime that plays in the normal capture flow.
- TalkModeRuntime: play the Voice Wake "send" chime before TTS playback
starts, giving audible feedback that the AI is about to respond. Talk
Mode never used this chime despite it being configurable in settings.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: move send chime to transcript finalization (on send, not on reply)
The send chime now plays when the user's speech is finalized and about
to be sent to the AI, not when the TTS response starts. This matches
the semantics of "send sound" -- it confirms your input was captured.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 21:09:36 -04:00
Peter Steinberger
9ea7e06460
build: bump version to 2026.4.1
2026-03-31 22:53:17 +01:00
Peter Steinberger
2a60e34f2a
build: prepare 2026.3.31 stable release
2026-03-31 21:32:38 +01:00
Peter Steinberger
91be36ca4f
build: prepare 2026.3.31-beta.1 release
2026-03-31 19:32:49 +01:00
Nimrod Gutman
69fe999373
fix(pairing): restore qr bootstrap onboarding handoff ( #58382 ) (thanks @ngutman)
...
* fix(pairing): restore qr bootstrap onboarding handoff
* fix(pairing): tighten bootstrap handoff follow-ups
* fix(pairing): migrate legacy gateway device auth
* fix(pairing): narrow qr bootstrap handoff scope
* fix(pairing): clear ios tls trust on onboarding reset
* fix(pairing): restore qr bootstrap onboarding handoff (#58382 ) (thanks @ngutman)
2026-03-31 21:11:35 +03:00
Peter Steinberger
c425ef3e74
build: bump version to 2026.3.31
2026-03-31 15:48:00 +01:00
Peter Steinberger
0d7f1e2c84
feat(security): fail closed on dangerous skill installs
2026-03-31 23:27:20 +09:00
Vincent Koc
4d912e0451
fix(exec): block proxy-style env overrides ( #58202 )
...
* fix(exec): block proxy-style env overrides
* fix(exec): keep trusted host proxy env inherited
* fix(exec): block git tls override env vars
* fix(skills): block dangerous env override keys
2026-03-31 21:25:36 +09:00
Vincent Koc
eb8de6715f
fix(exec): block risky host env overrides ( #58209 )
...
* fix(exec): block risky host env overrides
* fix(exec): block GOPRIVATE host env overrides
2026-03-31 19:37:43 +09:00
Ayaan Zaidi
6be0c7ef09
fix(android): drop bootstrap auth after manual endpoint changes
2026-03-31 15:32:36 +05:30
Ayaan Zaidi
cbc75f13b2
test(android): cover node-only onboarding state
2026-03-31 15:21:39 +05:30
Ayaan Zaidi
132208c01f
fix(android): require node connection before onboarding finish
2026-03-31 15:21:39 +05:30
Ayaan Zaidi
c1269eddb8
fix(android): preserve bootstrap auth for manual reconnect
2026-03-31 15:21:39 +05:30
Jacob Tomlinson
a23c33a681
macOS: use MagicDNS for wide-area gateway discovery ( #57833 )
...
* macOS: use MagicDNS for wide-area gateway discovery
Co-authored-by: nexrin <268879349+nexrin@users.noreply.github.com>
* macOS: tighten wide-area discovery review follow-ups
---------
Co-authored-by: nexrin <268879349+nexrin@users.noreply.github.com>
2026-03-31 10:04:11 +01:00
Josh Avant
c918ab4faf
fix(tts): restore 3.28 schema compatibility and fallback observability ( #57953 )
...
* fix(tts): restore legacy config compatibility and fallback observability
* fix(tts): surface fallback attempts in status and telephony
* test(tts): cover /tts audio to /tts status fallback flow
* docs(tts): align migration and fallback observability guidance
* TTS: redact fallback logs and scope legacy plugin migration
* Infra: dedupe UV_EXTRA_INDEX_URL in host env policy
* Docs: scope doctor TTS migration to voice-call
* voice-call: restore strict known TTS provider validation
2026-03-30 22:05:03 -05:00
Vincent Koc
5d8ca42c7d
fix(ci): regenerate mac host env policy
2026-03-31 10:12:20 +09:00
Vincent Koc
7ae1bb0c77
fix(host-env): block Python package index redirection env vars ( #58011 )
...
* fix(host-env): block Python package index redirection vars
* docs(changelog): note Python index override block
* Update src/infra/host-env-security-policy.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* fix(exec): block remaining uv index override env vars
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-31 09:53:32 +09:00
Jacob Tomlinson
e277a37f89
Infra: block compiler env overrides ( #57832 )
2026-03-30 20:06:32 +01:00