lotus(#2): stream per-participant call state over widget API
Opt-in (lotusCallState=1) bridge that emits io.lotus.call_state with each participant's speaking/audio/video state, so the Lotus host can drive speaking rings / mute badges / PiP from real events instead of scraping EC's rendered DOM. Exposes vm.userMedia$ on the public CallViewModel. Additive: no-op without the flag. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
39377fb6e1
commit
444af5f7ac
@@ -295,6 +295,8 @@ export interface CallViewModel {
|
||||
* multiple devices.
|
||||
*/
|
||||
participantCount$: Behavior<number>;
|
||||
/** [lotus] All participants' user media, exposed for the Lotus call-state widget bridge. */
|
||||
userMedia$: Behavior<WrappedUserMediaViewModel[]>;
|
||||
allConnections$: Behavior<ConnectionManagerData>;
|
||||
/** Participants sorted by livekit room so they can be used in the audio rendering */
|
||||
livekitRoomItems$: Behavior<LivekitRoomItem[]>;
|
||||
@@ -1721,6 +1723,7 @@ export function createCallViewModel$(
|
||||
),
|
||||
allConnections$,
|
||||
participantCount$: participantCount$,
|
||||
userMedia$,
|
||||
handsRaised$: handsRaised$,
|
||||
reactions$: reactions$,
|
||||
joinSoundEffect$: joinSoundEffect$,
|
||||
|
||||
Reference in New Issue
Block a user