Skip to content

fix: upgrade web SDK to 3.0.1 and reset widget after startup failures - #8

Open
dhruva-vapi wants to merge 2 commits into
masterfrom
devin/1792783375-web-sdk-3.0.1
Open

dhruva-vapi wants to merge 2 commits into
masterfrom
devin/1792783375-web-sdk-3.0.1

Conversation

@dhruva-vapi

Copy link
Copy Markdown

Problem

Zeals reports that ~40% of web-widget calls end with assistant-did-not-receive-customer-audio (PRISM-1083). Before 3.0.1, @vapi-ai/web created the backend call before it asked for the microphone. client-sdk-web#189 (released in v3.0.1) now acquires the mic first. If that fails, no call is created and the SDK emits call-start-failed and an error of type microphone-preflight-*.

Fix

  • Bump @vapi-ai/web from 2.5.2 to 3.0.1 (exact pin) and update pnpm-lock.yaml.
  • src/listeners.js: on call-start-failed, error and call-end, reset the button to idle and clear the active-call state, so a user who denied the mic can try again. Without this the button stays in the connecting state.
  • Rebuild the committed dist/assets bundles that the jsDelivr embed serves.
  • Add src/listeners.test.js (6 tests) and a test script.

Verification

  • vite build passes.
  • node --test src/listeners.test.js passes 6/6: success, mic error, generic error, retry, cancellation.
  • Checked the SDK's public API from 2.5.2 to 3.0.1 against the widget's usage (start, stop, events, setMuted, say). Nothing used by the widget changed incompatibly.

Not tested: a live call with a real mic in a browser.

Note: the jsDelivr @latest embed URL picks up the change once this merges to master.

Link to Devin session: https://app.devin.ai/sessions/f0c8f585b41d4cbaa0459bfc8d22e211
Open in Devin Desktop: https://app.devin.ai/desktop/session/f0c8f585b41d4cbaa0459bfc8d22e211?variant=devin
Requested by: @dhruva-vapi

dhruva-vapi and others added 2 commits October 23, 2026 19:29
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown

I'll fix CI failures and address comments from users with write access that start with 'Devin'.

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration

Copy link
Copy Markdown

@veltsonbastien @shubham-vapiai could you review this? It bumps the widget to @vapi-ai/web@3.0.1, which adds the mic preflight from VapiAI/client-sdk-web#189 for the Zeals no-customer-audio issue (PRISM-1083).

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