Commit Graph

618 Commits

Author SHA1 Message Date
Paweł Domas 1db52354fb
Use redux for local tracks instead of conference.js (#9920)
* do not use this.local video

* move tracks initialized flag around

* do not use this.localAudio

* untangle use audio/video stream methods

It should be safe to call setVideoMuteStatus and
setAudioMuteStatus regardless of the prejoin page
visibility state.

* add NO-OP to use track methods and fix crash
in _setLocalAudioVideoStreams on not a promise

* use allSettled
2021-09-13 12:33:04 -05:00
Jaya Allamsetty b9866e3464 fix(tracks) Fix mobile safari issue with startMuted.
On mobile Safari, when a user joins both audio and video muted, browser doesn't playout the remote audio because of a webkit bug. As a workaround, always add the audio track to peerconnection and then mute the track if needed.
2021-08-31 17:04:08 -04:00
Jaya Allamsetty 40099e97ec
feat(Filmstrip): Reorder the visible participants in the filmstrip. (#9707)
* feat(Filmstrip): Reorder the visible participants in the filmstrip.
The participants are ordered alphabetically and the endpoints with screenshares, shared-videos and dominant speakers (in that order) are bumped to the top of the list. The local participant is also moved to the top left corner as opposed to the bottom right corner.

* squash: Implement review comments.

* squash: store alphabetically sorted list in redux and move shared videos to top.

* squash: Use the DEFAULT_REMOTE_DISPLAY_NAME from interfaceConfig for users without a display name.
2021-08-18 18:34:01 -04:00
Saúl Ibarra Corretgé 465e7f1458 fix(conference) unify conference options
Some options were missing on the mobile side, notably calltsts
enableDisplayNameInStats and enableEmailInStats. Now the same logic will be used
in web and mobile.
2021-08-04 15:32:03 +02:00
Andrei Gavrilescu da7358d564
feat(audio-screen-share): improved ux flow (#9411)
* add button state / helper dialog

* new audio screen share flow

* change error message

* address a couple of merge conflicts

* fix lint

* address code review

* address code review

* restrict audio screen share on mobile browsers
2021-07-07 11:07:30 +03:00
hmuresan 38b14c5d62 chore(replace-participant) Send `readyToClose` event when a replaced participant is kicked
- the embedding app can decide to dispose the iframe in this case
2021-06-25 14:42:26 +03:00
tmoldovan8x8 0bd45a75d2
feat(replace-participant): Add replaceParticipant feature-flag 2021-06-16 14:08:18 +03:00
hmuresan 342dd4ceca feat(replace-participant): Replace participant with same jwt in the conf
- update lib-jitsi-meet to version with support for replacing participant
2021-06-15 14:24:12 +03:00
hmuresan bb5f589fa1 fix(feedback): don't wait for feedback submission on leave meeting 2021-06-02 06:53:59 -05:00
hmuresan aea09a8da3 Send feedback metadata to JaaS feedback endpoint 2021-05-25 20:37:56 +03:00
Tudor-Ovidiu Avram 4e4ff0f60f feat(share-video) Add capability for sharing any direct link video 2021-05-20 13:00:54 +03:00
hmuresan b998d80ee3 fix (external-api): fix notify video mute changed when presenting
- small refactor to trigger `notifyVideoMutedStatusChanged` correctly when participant is presenting
2021-05-04 18:23:32 +03:00
Jaya Allamsetty d96bb83496 fix(presenter): Do not resize the desktop track on FF by default.
Resizing of the desktop track on Firefox is not needed anymore since the browser now reports the correct resolution of the desktop track after the fix here - ada0f5e537.
Fixes https://github.com/jitsi/jitsi-meet/issues/8519
2021-04-22 14:39:56 -04:00
Calinteodor 98658f573c
fix(authentication): removed old LoginDialog.js file, fixed redirection to the external auth and created actions.any.js (#9049)
* fix(authentication) login dialog now closes when connection is established

* fix(authentication) fixed shibboleth auth

* fix(authentication) renamed authenticateExternal func to authenticate and updated its logic

* fix(authentication)removed logindialog.js and created actions.any

* fix(authentication) removed focus from externalauthwindow

* fix(authentication) removed private sign from some actions and added openLoginDialog to actions.any

* fix(authentication) exported all from actions.any

* fix(authentication) reverted change regarding externalAuth

* fix(authentication) fixed indentation
2021-04-22 17:05:14 +02:00
Andrei Gavrilescu 6d3d65da03
feat(screenshare): Audio only screenshare (#8922)
* audio only screen share implementation

* clean up

* handle stop screen share from chrome window

* update icon
2021-04-12 10:37:39 +03:00
damencho c4766125bb feat: Adds an option to preset in localstorage key for locked rooms.
This feature will be used by sip-jibri to join locked rooms.
2021-04-07 11:07:04 -05:00
Calinteodor e035d33fa9
feat(authentication) refactor auth dialogs to use React 2021-03-24 15:09:40 +01:00
luz paz d3680bbebd fix(misc) follow-up typos
Found via `codespell -q 3 -S ./lang`
2021-03-22 10:41:41 +01:00
Hristo Terezov f50872285d ref(Filmstrip): Use Thumbnail component. 2021-03-18 09:37:55 -05:00
Hristo Terezov f5a34183e9 fix(useVideoStream): error handling & add logs. 2021-03-10 17:02:29 -06:00
Jaya Allamsetty dcda89012e
fix(tracks): Do not signal muted audio tracks.
Do not add the muted audio tracks to peerconnection until the user unmutes the first time. This applies to startSilent, startWithAudioMuted and startAudioMuted/startVideoMuted config.js settings.
2021-03-05 10:18:34 -05:00
Calinteodor 430591bd1e
feat(shared-video) refactor dialog to use React
Also unify the mobile and web features into one, even though internally they still have separate ways to enable the functionality.
2021-03-03 15:37:38 +01:00
Steffen Kolmer 23bb824731
feat: Added mute video moderation feature (#8630)
* Added mute video feature

* Fixed export

* Fixed some issues

* Added remote video mute notification

* Fixed import

* Fixed conference event handling

* Fixed some linting issues

* Fixed more linter errors

* turn screenshare off on remote video mute

* Fix linter issue

* translations added for mute video feature

* Added video mute button to interface config

* Updated lib-jitsi-meet

* Fix copy paste error

Co-authored-by: nurjinn jafar <nurjin.jafar@nordeck.net>
2021-02-24 15:45:07 -06:00
Tudor-Ovidiu Avram f50fd7b7bd fix(gum) add event handling for SLOW_GET_USER_MEDIA
Show an overlay with a spinner when slow gUM is fired
2021-02-23 13:51:24 +02:00
Hristo Terezov 299927fcad docs: Add comment for initial GUM timeout values. 2021-02-08 15:53:38 -06:00
Hristo Terezov a6c6cd6c56 fix: Add GUM timeout & improve device permissions 2021-02-08 15:53:38 -06:00
Andrei Gavrilescu 9895a04609
feat(rtcstats): send meeting uuid to rtcstats (#8526)
* send meeting uuid to rtcstats

* change ret description

* fix flow error

* update lib-jitsi-meet version
2021-02-03 12:28:39 +02:00
Pawel Domas 7c90f75ec9 fix(conference.js): crash on undefined
While on the prejoin screen, the local tracks are managed by the redux store and not conference.js, so localAudio is undefined.
2021-01-28 21:59:44 -05:00
Tudor-Ovidiu Avram 55ebb60f85 feat(external_api) allow shortcuts to be disabled 2021-01-13 12:10:27 +02:00
Hristo Terezov 51e381a0b1 ref(Thumbnail): Create React component. 2021-01-12 13:42:31 -06:00
Tudor-Ovidiu Avram 4cb7ebce70 feat(external_api) allow initial gUM requests to be disabled 2021-01-12 06:02:44 -06:00
Hristo Terezov af6c794fda ref(remote-control): Use React/Redux. 2020-12-15 18:09:58 -06:00
Pawel Domas f88061db06 fix(conference.js): 2 tracks of the same media type
...caused by bad state as a result of timing issue around the prejoin flow.

If get user media call is delayed for a while and if user joins
the conference, when it hasn't completed then confrence.js will not assign
'localAudio' and 'localVideo' variables and will create additional media
tracks on unmute operation and add them to JitsiConference via replaceTracks
operation.
2020-12-15 14:11:00 -06:00
Jaya Allamsetty 1e07385ac0 ref(presenter): refactor the desktop resize logic for presenter. 2020-11-09 11:07:01 -05:00
Jaya Allamsetty 3381cf4422 fix(screenshare): Fixes for the blurry desktop share issues.
Do not resize the desktop share to 720p by default when the desktop track resolution is higher than 720p. This is causing bluriness when presenter is turned on.
Remove the 'detail' contentHint setting for the desktop+presenter canvas stream as it forcing chrome to send only 5 fps stream for high resolution desktop tracks.
Move the desktop resizing logic behind a config.js option - videoQuality.resizeDesktopForPresenter.
2020-11-06 17:04:00 -05:00
Saúl Ibarra Corretgé 2a01d3550c fix(conference) remove no longer needed code
There is no need for setting the availability of desktop sharing anymore. It can
now be detected on the spot.

The reson for the previous code was that way back when browser extensions were
needed, it was possible to start a conference without desktopo sharing support
and get it afterwards. This is no longer the case.
2020-11-03 16:15:01 +01:00
Hristo Terezov f45af351d8 ref(thumbnail): use connectionStatus from redux. 2020-10-29 12:05:40 -05:00
Hristo Terezov 35b5f6df06 s/isLocalVideoTrackMuted/isLocalCameraTrackMuted/ 2020-10-26 14:03:40 -05:00
Hristo Terezov ca2343c31a ref(StatusIndicators): Use video muted from redux. 2020-10-26 11:03:31 -05:00
Hristo Terezov 007183c151 fix(deviceChange):Dont create video track if muted 2020-10-23 13:04:02 -05:00
Hristo Terezov 9c10ac3028 fix(conference): start muted values on initial GUM
Take into account the start muted values stored in local storage.
2020-10-23 13:04:02 -05:00
Saúl Ibarra Corretgé c5f6df5210 fix(avatar) remove participant's "avatarID"
Through several avatar work iterations it's no longer used.
2020-10-16 14:44:10 +02:00
Tudor-Ovidiu Avram 6d2f8ae37d feat(prejoin) show connection status in exported prejoin screen 2020-10-07 17:23:49 +02:00
George Politis b5310573fc
feat: Adds more debug information in the GSM bars popover (#7627) 2020-10-02 15:20:24 +02:00
Saúl Ibarra Corretgé 7cafa205ee e2ee: stage 2
Adapt to E2EE changes in lib-jitsi-meet. Notably:

---
    e2ee: introduce per-participant randomly generated keys

    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.
---
2020-09-10 16:06:25 +02:00
Hristo Terezov 89ad76142d
Merge pull request #7449 from muscat1/promotional-close
feat(close3): Move readyToClose flow to the close page
2020-08-20 11:48:42 -05:00
Vlad Piersec 453c07cb17 feat(prejoin): Add precall connection quality indicator
* Adds a dropdown indicator which displays the status of the internet connection.
* It uses the same data as `https://network.callstats.io`.
* The algorithm for the strings displayed to the user is also the one used on `network.callstas.io`.
2020-08-20 08:25:15 -07:00
Mihai Uscat 9cf7199c0e feat(close3): Move readyToClose flow to the close page 2020-08-18 17:31:10 +03:00
Дамян Минков 4ca4e242b1
ref: Moves xmpp logs to be accessed from connection. (#7517)
* 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: Updates lib-jitsi-meet.
2020-08-13 13:12:56 -05:00
Jaya Allamsetty bd64c14aaa fix: Send SS stopped analytics event when SS was started in video mute state 2020-08-04 19:30:10 -04:00