Fire conference_left only if it is not a kick presence unavailable.
When we receive kick presence it is both 110 and 307 status code, so we were triggering both conference_left and kicked event. Now when we receive kick we process as it is 110 to clean participants and room and then fire the kick event.
Skips passing presence to emitter as it is not used.
Skips passing presence, cause it can reach the UI and there was a bug where we tried to pass the presence as an argument to the translation and ended in endless loop.
feat(ParticipantConnectionStatus): take advantage of RTC mute/unmute
'onmute'/'onunmute' event of MediaStreamTrack can be used to detect that
the remote user is having connectivity issues, because no video data is
received. We check if those are in sync with the signalling and if not
trigger connection interrupted updates with small delay.
Moves caching of selected endpoint out of data channel.
This currently fixes problem for participants joining in a room with other participants and trying to send initial value of selected local participant will throw an error. And fixes a potential problem if the UI can select participants before their video is available, before session initiated, can make local state with jvb inconsistent. Also if we want to have multiple selected endpoints or pinned participants and this is done before session-initiate caching should be done before creating data channel (currently selecting multiple is not possible).
The places of the two arguments of the function createConnection were
switched in the function definition but the call to the function
remained unchanged.