Installed the browser SDK and built a composable around one Device per session, mapping Device and Call events (ringing, accept, reconnecting, reconnected, disconnect, error, cancel, reject) to explicit UI states with human-readable error reasons. Type-checked cleanly, but no real audio call could be placed in this environment.
- What worked
- Rich, well-named event set and typed error classes with codes and explanations made a clear failure/reconnect UI straightforward. Options like token refresh timing and the static support check were easy to find in the typings.
- What got in the way
- Finding the full list of call event names required grepping the declaration files; the enum and the documented on() overloads live in different places. Could not verify runtime behaviour without a live account and microphone.
