Commit Graph

409 Commits

Author SHA1 Message Date
Peter Steinberger
fb7b798f96 fix(android): prevent duplicate talk playback 2026-04-25 20:43:25 +01:00
Peter Steinberger
86d897cfaa feat(android): expose talk mode
Co-authored-by: alex-latitude <213670856+alex-latitude@users.noreply.github.com>
2026-04-25 20:12:38 +01:00
Vincent Koc
b122a325cd fix(android): require loopback cleartext gateways 2026-04-23 11:59:17 -07:00
Vincent Koc
cad102c3ca fix(android): require private IP cleartext pairing 2026-04-23 11:56:47 -07:00
Vincent Koc
5b3e73e099 fix(android): disable auto-send for ASK_OPENCLAW 2026-04-23 11:26:10 -07:00
dependabot[bot]
38f8bc5592 chore(deps): bump the android-deps group across 1 directory with 17 updates (#67592)
* build(deps): bump the android-deps group across 1 directory with 17 updates

Bumps the android-deps group with 12 updates in the /apps/android directory:

| Package | From | To |
| --- | --- | --- |
| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |
| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.20` |
| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.20` |
| androidx.compose:compose-bom | `2026.02.00` | `2026.03.01` |
| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |
| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.10.0` | `1.11.0` |
| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |
| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |
| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |
| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.0.3` |
| androidx.test.ext:junit | `1.2.1` | `1.3.0` |
| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |

Updates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0

Updates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.20
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.20)

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.3.20
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.20)

Updates `androidx.compose:compose-bom` from 2026.02.00 to 2026.03.01

Updates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0

Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.10.0 to 1.11.0
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kotlin/kotlinx.serialization/compare/v1.10.0...v1.11.0)

Updates `org.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.commonmark:commonmark` from 0.27.1 to 0.28.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0)

Updates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0)

Updates `org.commonmark:commonmark-ext-gfm-strikethrough` from 0.27.1 to 0.28.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0)

Updates `org.commonmark:commonmark-ext-gfm-tables` from 0.27.1 to 0.28.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0)

Updates `org.commonmark:commonmark-ext-task-list-items` from 0.27.1 to 0.28.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0)

Updates `io.kotest:kotest-runner-junit5-jvm` from 6.1.3 to 6.1.11
- [Release notes](https://github.com/kotest/kotest/releases)
- [Commits](https://github.com/kotest/kotest/compare/6.1.3...6.1.11)

Updates `io.kotest:kotest-assertions-core-jvm` from 6.1.3 to 6.1.11
- [Release notes](https://github.com/kotest/kotest/releases)
- [Commits](https://github.com/kotest/kotest/compare/6.1.3...6.1.11)

Updates `org.junit.vintage:junit-vintage-engine` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3)

Updates `androidx.test.ext:junit` from 1.2.1 to 1.3.0

Updates `gradle-wrapper` from 9.3.1 to 9.4.1
- [Release notes](https://github.com/gradle/gradle/releases)
- [Commits](https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1)

---
updated-dependencies:
- dependency-name: org.jlleitschuh.gradle.ktlint
  dependency-version: 14.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-version: 2.3.20
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-version: 2.3.20
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: androidx.compose:compose-bom
  dependency-version: 2026.03.01
  dependency-type: direct:production
  dependency-group: android-deps
- dependency-name: androidx.activity:activity-compose
  dependency-version: 1.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.bouncycastle:bcprov-jdk18on
  dependency-version: '1.84'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark
  dependency-version: 0.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-autolink
  dependency-version: 0.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-gfm-strikethrough
  dependency-version: 0.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-gfm-tables
  dependency-version: 0.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-task-list-items
  dependency-version: 0.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: io.kotest:kotest-runner-junit5-jvm
  dependency-version: 6.1.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: android-deps
- dependency-name: io.kotest:kotest-assertions-core-jvm
  dependency-version: 6.1.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: android-deps
- dependency-name: org.junit.vintage:junit-vintage-engine
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: android-deps
- dependency-name: androidx.test.ext:junit
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: gradle-wrapper
  dependency-version: 9.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(android): remove Kotlin 2.3 warning failures

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-21 22:25:27 -07:00
Mason Huang
44a6e50fcc Android: modernize WebView and discovery API usage (#67627)
* Android: modernize WebView and discovery API usage

* Android: narrow discovery API cleanup scope
2026-04-16 19:22:15 +08:00
Ayaan Zaidi
dcf821cfb6 fix(android): prefer stored device auth after pairing 2026-04-08 21:58:56 +05:30
Ayaan Zaidi
1f899f8442 fix(android): tighten pairing retry behavior 2026-04-08 21:58:56 +05:30
Ayaan Zaidi
6090afa0e5 fix(android): reset auth on new setup codes 2026-04-08 21:58:56 +05:30
Ayaan Zaidi
11bd40fe8a fix(android): prefer bootstrap auth on qr pairing 2026-04-08 21:58:56 +05:30
Ayaan Zaidi
911f9a104c fix(android): auto-resume pairing approval 2026-04-08 21:58:56 +05:30
Tyler Warburton
a48c1e8cca fix: allow blank TLS manual port default (#63134) (thanks @Tyler-RNG)
* make port optional for TLS manual connections

* fix: restrict manual blank-port fallback to tls

* fix: allow blank TLS manual port default (#63134) (thanks @Tyler-RNG)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-08 18:54:03 +05:30
Ayaan Zaidi
90fcc1f551 fix(android): correct App Actions prompt parameter typing 2026-04-05 13:44:44 +05:30
Ayaan Zaidi
a746ba2dcb test(android): cover playback disable idempotency 2026-04-05 08:53:36 +05:30
Ayaan Zaidi
8d1f9ab5b8 fix(android): cancel in-flight talk playback on stop 2026-04-05 08:53:36 +05:30
Ayaan Zaidi
e4fe853439 fix(android): fall back on legacy talk errors 2026-04-05 08:20:47 +05:30
Ayaan Zaidi
dd6b160707 fix(android): tighten compressed talk playback 2026-04-05 08:20:47 +05:30
Michael Faath
628fc21192 Android: stop reply speaker on voice teardown 2026-04-05 08:20:47 +05:30
Michael Faath
5942b1062e Android: route voice replies through reply speaker 2026-04-05 08:20:47 +05:30
Michael Faath
b4f0e5ae2c Android: fix mic capture queue race 2026-04-05 08:20:47 +05:30
Ayaan Zaidi
db13a29bbf test(android): cover talk.speak playback helpers 2026-04-05 08:20:47 +05:30
Ayaan Zaidi
98d5939564 feat(android): add talk.speak playback path 2026-04-05 08:20:47 +05:30
Peter Steinberger
72847db28b test: cover android canvas a2ui trust gate 2026-04-04 20:33:24 +09:00
Peter Steinberger
035a754f0f fix: harden android a2ui trust matching 2026-04-04 20:28:08 +09:00
Peter Steinberger
c3a2701c45 fix(android): delay operator bootstrap reconnect until stored auth 2026-04-04 16:23:37 +09:00
Peter Steinberger
20266ff7dd fix: preserve mobile bootstrap auth fallback (#60238) (thanks @ngutman) 2026-04-04 15:57:38 +09: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
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
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
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
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
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
Ayaan Zaidi
08d365f481 test: pin android explicit setup auth selection 2026-03-30 20:39:20 +05:30
Ayaan Zaidi
fa150f8828 fix: use explicit setup auth for android gateway connect 2026-03-30 20:39:20 +05:30
Ayaan Zaidi
deead11dcd fix(android): restore setup-code operator bootstrap connect 2026-03-30 20:39:19 +05:30
Ayaan Zaidi
e0281849c0 fix: unblock android onboarding after bootstrap pairing 2026-03-30 20:39:19 +05:30
Ayaan Zaidi
fec329ce8d fix: handle android bootstrap-only setup codes 2026-03-30 20:39:19 +05:30