fix: restore Voice Wake after failed iOS PTT start#99942
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 4, 2026, 8:34 AM ET / 12:34 UTC. Summary PR surface: Other +28. Total +28 across 3 files. Reproducibility: yes. from source inspection, but not from an executed iOS run: current main suspends Voice Wake before Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Land the narrow NodeAppModel failed-start cleanup after the branch refreshes native i18n inventory, supplies redacted real iOS proof for failed and successful PTT paths, and keeps existing stop/cancel resume behavior. Do we have a high-confidence way to reproduce the issue? Yes from source inspection, but not from an executed iOS run: current main suspends Voice Wake before Is this the best way to solve the issue? Yes, conditionally: Full review comments:
Overall correctness: patch is correct AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 706443c79b1c. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Other +28. Total +28 across 3 files. View PR surface stats
Acceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
f9c4743 to
2efc949
Compare
Source: #99942 Co-authored-by: NianJiuZst <[email protected]>
* fix(agents): harden LSP process failures Source: #100450 Co-authored-by: morluto <[email protected]> * fix(sandbox): report effective workspace layout Sources: #100435, #100439 Co-authored-by: Aniruddha Adak <[email protected]> Co-authored-by: ZengWen-DT <[email protected]> * fix(security): fail install checks on stream errors Source: #100413 Co-authored-by: 陈宪彪0668000387 <[email protected]> * fix(android): normalize all-day calendar events Source: #100032 Co-authored-by: NianJiuZst <[email protected]> * fix(ios): serialize push-to-talk lifecycle Source: #99942 Co-authored-by: NianJiuZst <[email protected]> * fix(talk): reject inherited provider names Source: #99849 Co-authored-by: zenglingbiao <[email protected]> * fix(android): stop voice capture in background Source: #99840 Co-authored-by: xialonglee <[email protected]> * fix(cron): preserve fallback result classification Source: #99913 Co-authored-by: jincheng-xydt <[email protected]> * fix(google): bound Vertex response decompression Source: #99812 Co-authored-by: 黄剑雄0668001315 <[email protected]> * fix(plugins): report malformed discovery JSON Source: #99892 Co-authored-by: 陈宪彪0668000387 <[email protected]> * test(sandbox): configure non-default workspace fixture * test: fix small-fix batch validation --------- Co-authored-by: morluto <[email protected]> Co-authored-by: ZengWen-DT <[email protected]> Co-authored-by: 陈宪彪0668000387 <[email protected]> Co-authored-by: NianJiuZst <[email protected]> Co-authored-by: zenglingbiao <[email protected]> Co-authored-by: xialonglee <[email protected]> Co-authored-by: jincheng-xydt <[email protected]> Co-authored-by: 黄剑雄0668001315 <[email protected]>
|
Thanks @NianJiuZst — your failed-start Voice Wake restoration fix was incorporated into #100483, landed as aaf5ab9. The landed version also serializes session PTT transitions and reference-counts Voice Wake suspension across overlapping PTT owners, so one operation cannot resume wake listening while another still owns the microphone. Contributor credit is preserved. Closing this superseded PR. |
* fix(agents): harden LSP process failures Source: openclaw#100450 Co-authored-by: morluto <[email protected]> * fix(sandbox): report effective workspace layout Sources: openclaw#100435, openclaw#100439 Co-authored-by: Aniruddha Adak <[email protected]> Co-authored-by: ZengWen-DT <[email protected]> * fix(security): fail install checks on stream errors Source: openclaw#100413 Co-authored-by: 陈宪彪0668000387 <[email protected]> * fix(android): normalize all-day calendar events Source: openclaw#100032 Co-authored-by: NianJiuZst <[email protected]> * fix(ios): serialize push-to-talk lifecycle Source: openclaw#99942 Co-authored-by: NianJiuZst <[email protected]> * fix(talk): reject inherited provider names Source: openclaw#99849 Co-authored-by: zenglingbiao <[email protected]> * fix(android): stop voice capture in background Source: openclaw#99840 Co-authored-by: xialonglee <[email protected]> * fix(cron): preserve fallback result classification Source: openclaw#99913 Co-authored-by: jincheng-xydt <[email protected]> * fix(google): bound Vertex response decompression Source: openclaw#99812 Co-authored-by: 黄剑雄0668001315 <[email protected]> * fix(plugins): report malformed discovery JSON Source: openclaw#99892 Co-authored-by: 陈宪彪0668000387 <[email protected]> * test(sandbox): configure non-default workspace fixture * test: fix small-fix batch validation --------- Co-authored-by: morluto <[email protected]> Co-authored-by: ZengWen-DT <[email protected]> Co-authored-by: 陈宪彪0668000387 <[email protected]> Co-authored-by: NianJiuZst <[email protected]> Co-authored-by: zenglingbiao <[email protected]> Co-authored-by: xialonglee <[email protected]> Co-authored-by: jincheng-xydt <[email protected]> Co-authored-by: 黄剑雄0668001315 <[email protected]>
What Problem This Solves
Fixes an issue where iOS users who had Voice Wake listening could trigger push-to-talk start, hit an early start failure such as a disconnected gateway, and leave Voice Wake paused for external audio capture even though no push-to-talk recording was active.
AI-assisted: yes.
Why This Change Was Made
talk.pttStartnow restores the Voice Wake external-audio suspension whenbeginPushToTalk()throws before capture starts, while preserving the existing successful-start behavior wheretalk.pttStoportalk.pttCancelperforms the resume. A focused invoke test covers the offline-gateway failure path.User Impact
Voice Wake can recover after failed iOS push-to-talk starts instead of staying silently paused until the user toggles it or restarts the app.
Evidence
git diff --check upstream/main...HEAD.agents/skills/autoreview/scripts/autoreview --mode branch --base upstream/main-> clean, no accepted/actionable findingspnpm ios:genattempted for focused iOS test setup, but this machine is missingxcodegen(bash: xcodegen: command not found), so Xcode test execution is blocked locally.