They are companion rooms created in a separate MUC. The room relationship is
maintained by a Prosody plugin.
All signalling happens through the breakout rooms MUC component.
Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
feat: add facial-expressions in speaker stats (#1724)
* feat: facial expression in speaker stats
* feat: send xmpp message with facial expression to server
* fix: rebase conflicts
* feat: facial expression in speaker stats
* feat: facial expression in speaker stats
* fchore(facial-expressions): remove the send facial expression call from update facial expression function
* feat(facial-expressions): store expresions as a timeline
* refactor(facial-expressions): store expressions by counting them in a map
* feat(facial-expressions): camera time tracker
* add(facial-expression): increase facial expression with duration parameter from payload
* add(facial-expressions): the disgusted expression
* refactor(facial-expressions): remove camera time tracker
* refactor(facial-expressions): change data channel message handel position for facial expressions and renamed some types
* fix(facial-expressions): move facial expression endpoint message handler from statistics.js to ConnectionQuality.js
* fix(facial-expressions): remove unused type
feat: Delays deployment info stats till we get update from backend. (#1770)
* feat: Delays deployment info stats till we get update from backend.
We delay sending this stat till we are connected or fail to connect.
* squash: Make sure we send it on conn fail or when sys message or disco info is received.
fix(JitsiConference):2 instances for the same room
If a second JitsiConference instance for the same room is created we were
throwing an error but some listeners were already attached. This commit
makes sure that we throw the error as soon as possible and no listeners
are added.
* feat: Support plain endpoint ID.
Support the ID of the owner of sources being encoded directly instead of
using the full JID.
* feat: Support JSON-encoded sources.
* feat: Advertise support for JSON-encoded sources.
* feat: Audio/Video moderation.
* squash: Fix docs.
* squash: Adds some warning logs when execution is rejected.
* squash: Changes a field name in the message for adding jid to whitelist.
* squash: Send to participants only message about approval.
Skips sending the whole list.
* squash: Fixes tests.
* squash: Adds more logs.
* feat: Separates enable/disable by media type.
Adds actor to the messages to inform who enabled it.
* squash: Fixes log line.
* squash: Fixes comments.
* squash: Fixes log messages.
* squash: Fixes comments.
* squash: Extracts parsing disco info in utility method.
* squash: Extracts parsing disco info identities and features in utility method.
* squash: Skip disco-info on reconnection.
Doing disco info queries only once.
If the call is longer than 24-hours turn credentials may be expired.
* feat: Adds handler for early messages with conference info data.
* feat: JiConOp handling for shard name.
* squash: Drops unneeded check.
* squash: Changes message type to service-info.
* squash: Moves utility parseDiscoInfo out of the Caps class.
feat: Skips using disco-info for features. (#1450)
* fix: Drops unused parameter of join and sendPresence.
* feat: Skips using disco-info for features.
Uses presence to publish features added externally.
Recognizes jigasi participants using a specific presence extension used by jigasi.
* squash: Fixes tests.
* squash: Adds e2ee to the features in presence.
* squash: Fix function name and docs.
* squash: Drops detecting jigasi from initiator.
Using the newly added presence features.
* squash: Drops unused var.
* squash: Fix comments.
* squash: Adds a constant and for E2EEE feature.
* feat: Make enableRemb signal client remb support.
* feat: Make enableTcc signal client tcc support.
* ref: Remove the enableOpusRed conference-wide option.
feat: Reduce pings and adds xmpp ping config (#1389)
* feat: Skips pinging when there was a recent server response.
* feat: Adds options to control xmpp ping settings.
* fix: Fixes wrong default value.
* squash: Received messages in ping interval sets failed ping to 0
This the second stage in our E2EE journey.
Instead of using a single pre-shared passphrase for deriving the key used for
E2EE, we now establish a secure E2EE communication channel amongst peers.
This channel is implemented using libolm, using XMPP groupchat or JVB channels
as the transport.
Once the secure E2EE channel has been established each participant will generate
a random 32 byte key and exchange it over this channel.
Keys are rotated (well, just re-created at the moment) when a participant joins
or leaves.
There's a plan for using ping to detect XMPP WebSocket
disconnected instead of waiting for timeouts on the network layer.
This also simplifies ICE failed handling logic.
ref: Moves xmpp logs to be accessed from connection. (#1284)
* ref: Moves xmpp logs to be accessed from connection.
In cases where there is no room like pre-join and lobby screen we still want to be able to debug xmpp messages.
* squash: Remove getLogs from Conference.
* squash: Fix catch.
* squash: Print the error.
* Initial impl of lobby rooms.
* Fixes tests to check the new fulljid added to MUC_MEMBER_JOINED.
* Updates few of the comments, renaming some functions.
* Renames disableLobby ChatRoom option to enableLobby.
* Fixes a comment.
* Moves setMembersOnly method to ChatRoom.
* Fixes counting members, to exclude jicofo.
* Moves setLobbyRoomJid earlier and renames a method.
Rename _maybeEnableDisable to maybeJoinLeaveLobbyRoom.
* Drops using custom roomconfig lobbypassword field and reuse room lock.
* Handles destroying the lobby room.
* Handles clear lobby room on destroy for moderators.
We do not try to leave the lobby room as it is server-side destroyed and we handle that. The only case of leaving a lobby room is when request to join room is being approved.
* Join main room if lobby is disabled while waiting.
* Adds MEMBERS_ONLY_CHANGED conference event.
* fix: Make sure we leave lobby if main room is joined.
* fix: Setting password when joining locked room.
* fix: Fixes case where we enable lobby for already locked room.
* fix: Fixes case where we enable lobby and then lock room.
* fix: Fixes lint.
* ref: Removes shared password for lobby.
This functionality is handled by the lock room password and handled there.
Removes duplication and unnecessary complicated API for lobby room.
* fix: Fixes comments.
Add RFC 4588 to the list of advertised features on Firefox.
Use RtxModifier only for cases when simulcast is achieved through SDP munging
This will ensure that RTX is negotiated whenever it is offered by the browser.
fix(xmpp): clear any last strophe errors on reconnect
If user experiences any failed reconnect during the entire
session, even if followed by a success, then
the "connectionFailed" flag will trigger
JitsiConnectionEvents.CONNECTION_FAILED on hang up while
processing the disconnected transition.