* Added video mute participant
* Trigger mute event
* Optimized mute type checks
* Fixed event name
* Fixed some linter issues
* Fixed more linter issues
* And even more linter issues fixed
* And more linter fixes
* Added media type to analytics event
Determine the preferred codec for a given endpoint based on the config.js settings and the codecs supported by the endpoint.
The preferred codec is published in presence and then used by the other endpoints in the call during join/leave to determine
if the codec needs to be changed on the fly. Different codecs can be configuered for p2p/jvb connections.
The preferredCodec/disabledCodec settings under videoQuality will have precedence over the older settins like preferH264/disableH264.
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.
* 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.
When modifying the room protection (setting or unsetting a password), the muc#roomconfig_passwordprotectedroom should always be defined. This fixes issue #512.
This prevents from accessing Strophe internals directly and allows to
block 'send' calls while disconnected. The latter breaks the stream
resume logic by putting stanzas onto the send queue.
TODO make jitsi strophe plugins use the XmppConnection wrapper whenever
possible instead of interacting with the Strophe.Connection directly.
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.
Handles private messages received by speakerstats component.
Updates speakers stats with values received by the spealerstats component, all the logic is activate only in case we discover speakerstats component address from disco-info and the incoming message is coming from that component.
The code for handling device availability has been disabled for a long time,
plus it's ill named since it represents 2 abstractions: lack of permissions and
lack of devices.
Time for it to rest in the git graveyard.
Exports additional statistics through ConnectionQuality (#813)
* feat: Read the server region from Jingle and broadcast it with statistics.
* feat: Adds the bridge count to local "statistics", refactors conference-properties.
* fix: Emits the conference properties with the event, small fixes.
* ref: Orders the imports alphabetically.
As described by @virtuacoplenny:
[T]he ordering is based on import path, not import name, with different
file depths being grouped together, node modules being grouped together
at the top.
* fix: Keeps JitsiConference#properties always defined.
* fix: Does not fire an event when the argument is undefined.
* Update reference to Prosody bugtracker.
* Updated refernce to Prosody module.
* Remove unused child element.
The child element in the query suggests that a specific host is being requested. Neither
the Prosody implementation nor the XEP-0215 specification defines this element. Its
inclusion is ignored by the XEP-0215 server implementation.