Web App 3 v35
Custom Iframes
We are introducing Custom Iframes.
Visual Elements
Button
ParticipantActions
buttons have a new optionalparticipantIDs
array property that dictates which participants should render this button. All participants will render the button if the property is leftundefined
.Here is an example of how one could approach adding a mute/unmute video action button.
let muteVideoActionBtn;
let unmuteVideoActionBtn;
plugin.events.participants.add(({participants}) => {
const mutedParticipants = participants
.filter(p => p.isCameraMuted)
.map(p => p.identity);
const unmutedParticipants = participants
.filter(p => !p.isCameraMuted)
.map(p => p.identity);
if (muteVideoAction) {
muteVideoActionBtn.update({..., participantIDs: unmutedParticipants})
} else {
muteVideoActionBtn = plugin.ui.addButton({..., participantIDs: unmutedParticipants})
}
if (unmuteVideoAction) {
unmuteVideoActionBtn.update({..., participantIDs: mutedParticipants})
} else {
unmuteVideoActionBtn = plugin.ui.addButton({..., participantIDs: mutedParticipants})
}
});
Events
Adds
rawData
to participant and ConferenceStatus events. This is the object coming from the event stream as-is, without being normalizedAdds
overlayText
,isConjoined
properties to participant