Deliberately framework-agnostic — no hooks, no observables — so the same
implementation serves React, Vue and Angular. Wrap it in whatever your
framework prefers.
constviewer = createViewerSession({ provider:myProvider, roomName, onChange: (snapshot) =>setState(snapshot), }); awaitviewer.start(); // watching over HLS, never joined awaitviewer.requestPromotion(); // hand raised // when snapshot.phase === 'approved', perform a real SDK join.
Drive a viewer session.
Deliberately framework-agnostic — no hooks, no observables — so the same implementation serves React, Vue and Angular. Wrap it in whatever your framework prefers.