Skip to content

feat(browser): mic-optional connect + device switch APIs - #44

Merged
akirilyuk merged 1 commit into
mainfrom
feat/mic-optional-device-picker
Aug 12, 2026
Merged

feat(browser): mic-optional connect + device switch APIs#44
akirilyuk merged 1 commit into
mainfrom
feat/mic-optional-device-picker

Conversation

@akirilyuk

Copy link
Copy Markdown
Contributor

Summary

  • Voice connect no longer fails when getUserMedia is denied or unavailable — falls back to a silent synthetic outbound MediaStream so WebRTC negotiation and runner agent start can proceed.
  • New microphone.ts helpers and session APIs: listAudioInputDevices(), getAudioInputDeviceId(), getAudioInputState(), setAudioInputDevice(), requestAudioInputAccess() with RTCRtpSender.replaceTrack for mid-session switching.
  • audioInputDeviceId connect option threads through connectBrowserSession for voice / voice+data modes.
  • Bump @voicethere/client to 0.7.27.

Test plan

Verified locally and via CI (npm run test:ci exit 0); no extra manual steps.

Connect voice sessions with a silent synthetic outbound track when
getUserMedia is denied or unavailable, and expose mid-session mic
list/switch/re-request APIs via RTCRtpSender.replaceTrack.

Co-authored-by: Cursor <cursoragent@cursor.com>
@akirilyuk
akirilyuk merged commit 0bc1ecf into main Aug 12, 2026
8 checks passed
@akirilyuk
akirilyuk deleted the feat/mic-optional-device-picker branch August 12, 2026 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant