rowboat/apps/x
PRAKHAR PANDEY faaefe936f
fix: resolve macOS mic permission on first click in voice mode (#613)
On macOS, the first getUserMedia({audio:true}) call hits TCC permission
status 'not-determined' — the OS prompt appears but the in-flight call
rejects, is silently swallowed, and the UI snaps back to idle. Second
click works because permission is already granted.

Fix: add voice:ensureMicAccess IPC channel (mirroring the existing
meeting:checkScreenPermission pattern) that calls
systemPreferences.askForMediaAccess('microphone') before getUserMedia,
so the same first click proceeds once the user grants access.

Also fixes a secondary bug: on the failure path, the code only called
setState('idle'), leaking the WebSocket that connectWs() had already
opened. Now calls stopAudioCapture() for proper cleanup.
2026-06-11 02:07:18 +05:30
..
apps fix: resolve macOS mic permission on first click in voice mode (#613) 2026-06-11 02:07:18 +05:30
packages fix: resolve macOS mic permission on first click in voice mode (#613) 2026-06-11 02:07:18 +05:30
patches feat: run code mode on an in-app ACP client with live approvals (#593) 2026-06-05 14:45:08 +05:30
.gitignore chore: ignore test-fixtures dir 2026-05-08 17:04:25 +05:30
ANALYTICS.md Add app version to analytics events 2026-05-29 17:02:01 +05:30
eslint.config.mts ignore renderer eslint 2026-01-16 12:05:33 +05:30
LIVE_NOTE.md Refactor builtin file tools beyond workspace scope 2026-05-25 16:21:51 +05:30
package.json integrate electron forge 2026-01-17 10:28:44 +05:30
pnpm-lock.yaml add pacman maker for Arch Linux packages (#604) 2026-06-10 14:55:15 +05:30
pnpm-workspace.yaml feat: run code mode on an in-app ACP client with live approvals (#593) 2026-06-05 14:45:08 +05:30
tsconfig.base.json bootstrap new electron app 2026-01-16 12:05:33 +05:30