Skip to content

fix(android): stabilize onboarding and voice node flow#29796

Merged
obviyus merged 11 commits intomainfrom
android-node-fixes
Feb 28, 2026
Merged

fix(android): stabilize onboarding and voice node flow#29796
obviyus merged 11 commits intomainfrom
android-node-fixes

Conversation

@obviyus
Copy link
Contributor

@obviyus obviyus commented Feb 28, 2026

Summary

  • request permissions per onboarding toggle and keep disabled when denied
  • fix Android pairing guidance to the actual devices list/approve commands
  • restore assistant speech playback in voice mode with immediate speaker mute/unmute behavior
  • refresh talk config on reconnect and cut conversation update churn in mic capture

Testing

  • cd apps/android && ./gradlew :app:compileDebugKotlin :app:testDebugUnitTest --tests "ai.openclaw.android.voice.*"

@openclaw-barnacle openclaw-barnacle bot added app: android App: android size: L maintainer Maintainer-authored PR labels Feb 28, 2026
@obviyus obviyus self-assigned this Feb 28, 2026
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 28, 2026

Greptile Summary

Refactored Android onboarding to request permissions per toggle with immediate feedback, fixed pairing command documentation, and restored voice reply playback in mic capture mode.

Key changes:

  • Onboarding now requests permissions on-demand per toggle rather than batching at the end, with toggles properly disabled when permissions are denied
  • Voice tab adds speaker mute/unmute control with immediate effect
  • Mic capture mode now plays assistant replies using the TalkMode speech engine
  • Talk config refreshes on gateway reconnect to pick up updated voice settings
  • Optimized conversation update logic to reduce unnecessary state updates
  • Fixed pairing guidance from incorrect openclaw nodes to correct openclaw devices commands

Confidence Score: 4/5

  • This PR is safe to merge with low risk - changes are well-contained to Android voice and onboarding flows
  • The permission handling refactoring is solid with proper lifecycle management, voice integration follows existing patterns with lazy initialization and defensive checks, and the conversation update optimization is a straightforward performance improvement. Minor deduction for the complexity of the permission flow changes which would benefit from integration testing.
  • No files require special attention - all changes follow established patterns and include appropriate null checks and error handling

Last reviewed commit: 5a5ebf0

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5a5ebf07fe

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c18d71287b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@obviyus obviyus merged commit 9b39490 into main Feb 28, 2026
4 checks passed
@obviyus obviyus deleted the android-node-fixes branch February 28, 2026 14:36
@obviyus
Copy link
Contributor Author

obviyus commented Feb 28, 2026

Landed via temp rebase onto main.

  • Gate: skipped full suite per maintainer request; relied on prior Android gate runs (
    cd apps/android && ./gradlew :app:compileDebugKotlin :app:testDebugUnitTest --tests "ai.openclaw.android.voice.*"
    )
  • Land commit: 412eec5
  • Merge commit: 9b39490

vincentkoc pushed a commit to Sid-Qin/openclaw that referenced this pull request Feb 28, 2026
vincentkoc pushed a commit to rylena/rylen-openclaw that referenced this pull request Feb 28, 2026
mrosmarin added a commit to mrosmarin/openclaw that referenced this pull request Feb 28, 2026
* main: (31 commits)
  fix(browser): resolve correct targetId in navigate response after renderer swap (openclaw#25326)
  fix: sed escaping and UID mismatch in Podman Quadlet setup (openclaw#26414)
  fix(cron): pass heartbeat target=last for main-session cron jobs (openclaw#28508) (openclaw#28583)
  fix(cron): disable messaging tool when delivery.mode is none (openclaw#21808) (openclaw#21896)
  fix: clear delivery routing state when creating isolated cron sessions (openclaw#27778)
  fix(cron): avoid marking queued announce paths as delivered (openclaw#29716)
  fix(cron): enable completion direct send for text-only announce delivery (openclaw#29151)
  fix(cron): force main-target system events onto main session (openclaw#28898)
  fix(cron): condition requireExplicitMessageTarget on resolved delivery (openclaw#28017)
  feat(cron): add --account flag for multi-account delivery routing (openclaw#26284)
  fix: schedule nextWakeAtMs for isolated sessionTarget cron jobs (openclaw#19541)
  fix: sandbox browser docker no-sandbox rollout (openclaw#29879) (thanks @Lukavyi)
  GitHub: add regression bug issue template and routing (openclaw#29864) thanks @Takhoffman
  feat(feishu): add chat info/member tool (openclaw#14674)
  feat(feishu): add markdown tables, positional insert, color_text, and table ops (openclaw#29411)
  feat(feishu): add parent/root inbound context for quote support (openclaw#18529)
  fix: land android onboarding and voice reliability updates (openclaw#29796)
  fix(android-voice): rotate playback token per assistant reply
  fix(android-voice): retry talk config after transient failures
  fix(android-voice): cancel in-flight speech when speaker muted
  ...
newtontech pushed a commit to newtontech/openclaw-fork that referenced this pull request Feb 28, 2026
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Mar 1, 2026
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Mar 1, 2026
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 1, 2026
ansh pushed a commit to vibecode/openclaw that referenced this pull request Mar 2, 2026
steipete pushed a commit to Sid-Qin/openclaw that referenced this pull request Mar 2, 2026
safzanpirani pushed a commit to safzanpirani/clawdbot that referenced this pull request Mar 2, 2026
steipete pushed a commit to Sid-Qin/openclaw that referenced this pull request Mar 2, 2026
robertchang-ga pushed a commit to robertchang-ga/openclaw that referenced this pull request Mar 2, 2026
execute008 pushed a commit to execute008/openclaw that referenced this pull request Mar 2, 2026
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 3, 2026
dorgonman pushed a commit to kanohorizonia/openclaw that referenced this pull request Mar 3, 2026
sachinkundu pushed a commit to sachinkundu/openclaw that referenced this pull request Mar 6, 2026
zooqueen pushed a commit to hanzoai/bot that referenced this pull request Mar 6, 2026
Mateljan1 pushed a commit to Mateljan1/openclaw that referenced this pull request Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: android App: android maintainer Maintainer-authored PR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant