feat(xmpp): allow setting resource on room jid (#940)
This functionality is being brought back for apps
that use ljm for its prosody logic but not for
video conferencing, ie Jitsi-Meet Spot. The desired
use is for Spot-TVs to be identifiable by their
jid alone and for the resource to be the part
that identifies them.
Always uses 8 hex digits for the MUC nickname/endpoint ID. (#921)
* Always uses 8 hex digits for the MUC nickname/endpoint ID.
* squash: Fix a comment and add the full JID to the log.
* squash: Fixes the compilation and style.
They contain no information about the failure (this is available in the onclose
event) and the event references the WS object itself, which causes hangs on
mobile.
fix(caps): validate sha before caching features (#917)
Attempts to fix this race condition:
1. Web client joins a conference.
2. Electron client joins the same conference.
3. Web client requests capabilities of Electron
using version 1111.
4. Electron adds remote control capability,
settings its version to 2222.
5. Electron responds to web client's requests
but with features of 2222.
6. Web client caches request under 1111.
7. Any future calls to get features for a client
with version 1111 will incorrect include the
remote control capability.
fix(presence): send latest presence on conference join (#920)
Attempts to fix the following issue:
1. Electron user starts the conference join process.
2. Electron user adds remote control capability and
attempts to send presence.
3. Electron user presence send is blocked because the
conference has not been joined.
4. Electron user joins the conference.
5. The remote control capability is not emitted until
some other presence change triggers another
presence send. Until then, other uses will not see
remote control option available for the electron
user.
* Updates kicked event to inform local and remote kicks and who it affects
* Parses actor from MuteIQ and adds participant info to mute track event.
* Fixes emitting both events.
* Fixes comments.