Commit Graph

180 Commits

Author SHA1 Message Date
Leonard Kim 0a1bd5a0c7 feat(popover): do not remove the popover on every update
With popover usage now only passing in React Components, the
logic of removing the popover and recreating its html with
every update is not necessary. Instead allow React to update
the popover contents.

Because of this change, mouse event handlers are not recreated
on each update, so it is possible for mouseleave to fire after
the size of the popover shrinks when collapsing to hide more stats,
forcing the mouse out of the popover. To prevent this, padding has
been added to the top of the popover so on resize the mouse will
still be over the popover. The padding has the added bonus of
fixing an issue where the popover would not close until mouseenter
was triggered after size collapse, but it adds the drawback of
requiring more upward mouse travel to close the popover.
2017-06-20 13:49:02 -05:00
Leonard Kim da99f3b939 feat(remote-video): convert remote video menu to react
- Create new React Components for RemoteVideoMenu and its
  buttons
- Remove existing menu creation from RemoteVideo
- Refactor RemoteVideo so all function binding happens once in
  the constructor, removing the need to rebind when updating
  the RemoteVideoMenu
- Allow popover to append and remove React Components from itself
- Refactor popover so post-popover creation calls are broken out and
  popover removal behavior is all done in one function.
2017-06-13 14:54:19 -05:00
Leonard Kim 73dd7440d0 fix(remote-video): update remote video menu if it exists
In RemoteVideo, creation of the RemoteVideoMenu (popover) is
skipped if in filmstrip only mode. However, updateRemoteVideoMenu
is called by other components, and that tries to access popover
and will error.

Add a defensive check for now as filmstrip is being rewritten
for react.
2017-06-13 14:54:03 -05:00
paweldomas 6865b03338 fix(RemoteVideo): broken grey avatar
Also moves the logic about participant connection status from SmallVideo
to RemoteVideo, because it doesn't make sense for local videos.
2017-06-06 11:13:02 -05:00
paweldomas 12d7e61362 feat(VideoLayout): add ninja icon
Add ninja icon which wil be displayed when user's connection status is
inactive.

Apply grey filter only for interrupted state.

Do not use isLastN directly, but check ParticipantConnectionStatus.
2017-06-06 11:13:02 -05:00
Leonard Kim aabe641047 feat(vertical-filmstrip): Initial implementation
- Add a class to the body when in vertical filmstrip mode
- Override styles as necessary to support the mode
- Add an option to make tooltips display from the left
- Move the HD Label to the bottom left
- Move the remote video menu to the bottom left, move the mute
  icons to the bottom right
- Scale the local video's height and width to fit the filmstrip
2017-05-23 13:28:27 -07:00
Leonard Kim 82ecfac4ee fix(filmstrip): Separate remote videos and local video
The 1:1 call UI and vertical filmstrip act on remote videos
while leaving local video alone. To facilitate acting only on
remote videos, place remote videos into their own container element.
2017-05-23 09:07:41 -07:00
Leonard Kim 258dc594dd fix(volume-slider): modify positioning so slider fits popup width 2017-05-22 14:16:06 -07:00
Saúl Ibarra Corretgé 9ba3a1c4ff feat(conference): add audio only mode
Audio only mode can be used to save bandwidth. In this mode local video is muted
and last N is set to 0, thus disabling all remote video.

When this mode is enabled avatars are shown.
2017-05-05 09:27:59 -07:00
Дамян Минков 2248560699 Uses new peer connection statuses to check and show different user msgs. (#1441)
* Uses new peer connection statuses to check and show different user msgs.

Checks for interrupted state of peer connection and shows appropriate messages. In case of inactive or restoring state a message is show to user that video was stopped on purpose. Removes some unused parameters from the event handlers about peer connection status change.

* Removes isParticipantConnectionActive.
2017-04-03 11:53:04 -05:00
yanas 704e14f008 Handle last n in the client (#1389)
* Handle last n in the client

* fix(LargeVideoManager.js): Fixes check for low bandwidth. Needs more work

* fix(LargeVideoManager.js): Fixes the Shared Video test.

* fix(LargeVideoManager): Fix shared video view and remove last n checks.

* fix(LargeVideoManager): Fixes jsdoc comment

* fix(RemoteVideo): Fix connection status check

* fix(LargeVideoManager,RemoteVideo): Syntax errors
2017-03-21 12:14:13 -05:00
damencho 54d891afa7 Updates framerate using local statistics. 2017-03-17 16:10:45 -05:00
Leonard Kim 02b26a65bb Volume slider for remote participant audio elements 2017-02-23 09:01:40 -08:00
hristoterezov 1f7c5529e9 fix(remotecontrol): Pin the controlled participant only on remote control permissions granted 2017-01-23 15:29:25 -06:00
hristoterezov 0453346cf4 ref(remotecontrol): Pass the largeVideoWrapper as parameter to remote control module 2017-01-23 15:29:25 -06:00
hristoterezov 5d22061c0a fix(remotecontrol): Handle on-stage participant changes 2017-01-23 15:29:25 -06:00
hristoterezov a4d5c41b3a feat(remotecontrol): UI for requesting permissions 2017-01-23 15:29:25 -06:00
hristoterezov 61f4b52a15 fix(filmstrip_only): Remove unrelated UI elements 2017-01-12 14:51:53 -06:00
yanas a5387b054a Fix(RemoteVideo): Fixes remote video menu icon 2017-01-04 10:14:53 -06:00
paweldomas b58f1cdd16 use logger instead of console 2016-11-23 11:32:55 -06:00
damencho a079914603 Removes click handlers when popup is hidden. 2016-11-22 17:06:19 -06:00
yanas 6d1f42bf30 Merge pull request #1115 from jitsi/remove_css_classes
Removes unused css classes
2016-11-16 13:00:26 -06:00
yanas bb80bf4144 fix: Use a separate css class for thumbnail menu 2016-11-08 11:47:22 -06:00
Boris Grozev c0c198098b style: Renames variables, adds a FIXME. 2016-11-07 20:47:43 -06:00
hristoterezov c41c219206 fix(Thumbnails): removes unused css classes 2016-11-04 15:24:05 -05:00
Konstantyn Pahsura e7d089c815 Merge branch 'jit/master' into task/video-thumbnail-menu-should-appear-on-hover 2016-11-03 17:30:19 +02:00
Konstantyn Pahsura 9633919e32 css class for remote video specified 2016-11-03 15:40:43 +02:00
Konstantyn Pahsura 76e55f1132 show/hide menu if elem hovered 2016-11-03 15:40:43 +02:00
Ilya Daynatovich 30e717bd20 Rename classname; Refactor click on video method 2016-11-03 12:13:03 +02:00
Ilya Daynatovich d703271c96 Fix bug with resizing when using shortcut for switching btw videos 2016-11-03 11:48:48 +02:00
hristoterezov a8b69d5cd8 feat(MessageHandler): Implement dont show again utility 2016-10-31 13:02:41 -05:00
hristoterezov 7e2fe30472 feat(JitsiLocalStorage): Implement localStorage wrapper 2016-10-31 12:11:03 -05:00
yanas ae9819a45c Merge pull request #1075 from BeatC/menu-restyling-editions
Adjust alignment of remote video menu
2016-10-28 12:43:12 -05:00
hristoterezov 634a18e847 fix(Thubmnail_PopupMenu): the thumbnail should be considered hovered when the popup menu is hovered 2016-10-28 11:16:40 -05:00
Ilya Daynatovich 138ed6a487 Fixed interface 2016-10-28 13:52:08 +03:00
Ilya Daynatovich d84d0b65ca Adjust alignment of remote video menu 2016-10-28 13:52:08 +03:00
damencho e3edef2999 Renames videocontainer overlay to hoverOverlay. 2016-10-27 14:32:22 -05:00
damencho 7acda03024 Adds an overlay to dim videos when showing displayname. 2016-10-26 15:51:09 -05:00
damencho 5cead57723 Reverts hover over small video to show display name. 2016-10-26 15:51:09 -05:00
yanas a17a98991c Ongoing work on video thumbnail layout 2016-10-26 15:51:09 -05:00
yanas 3fe43abdea Move the display name to the center 2016-10-26 15:51:09 -05:00
hristoterezov 09c8e14465 feat(Mute_Participant): Implement warning dialog for muting remote participant 2016-10-26 14:57:09 -05:00
hristoterezov ea0f0da8a4 feat(JitsiPopover): Add onBeforePosition option 2016-10-25 17:57:29 -05:00
damencho efed4bf13c Merge branch 'master' into translations-update 2016-10-21 13:19:23 -05:00
damencho 5217bf0bb8 Removes translateString and use translateElement.
Removing translateString forces using data-i18n attributes, to make sure we do not forget to set them. Missing data-i18n attributes is a problem with late loading where we can end up without translation, without text. Missing data-i18n attributes is also problem that strings will not be translated when changing language.
Fixes a bug in invite dialog, where remove password button was shown for non moderators.
2016-10-21 12:11:22 -05:00
Ilya Daynatovich 8f57179aa4 return default value 2016-10-20 19:41:04 +03:00
Ilya Daynatovich 62af73ea09 Add new option to jitsi-popover 2016-10-20 19:28:19 +03:00
Lyubomir Marinov a2b076985a ESLint
Enable ESLint on jitsi-meet with the same configuration and the same
goals as in lib-jitsi-meet.
2016-10-03 11:12:27 -05:00
yanas 3bb877cc3a Audio levels redesign. 2016-09-28 16:41:13 -05:00
damencho 15f4288e4a Fixes some jshint errors. 2016-09-28 11:29:47 -05:00
hristoterezov 2a8700bca3 Merge pull request #938 from jitsi/participant_conn_status
Adds participant connection status notifications
2016-09-27 17:54:22 -05:00
yanas 1c8535a2d5 Improves the pin and hover borders 2016-09-26 15:40:56 -05:00
paweldomas 46766ec239 fix(RemoteVideo): avoid black thumbnail
When the user is having connectivity issues we use the image cached in
the video element to show the preview in greyscale. It looks like this
cached image gets invalided after prolonged periods of time the video
element being hidden(and it is hidden when the video is muted). So we
never show this image if the user gets muted during connectivity
disruption in order to avoid blackness.
2016-09-26 13:01:35 -05:00
paweldomas 66bbc4d9fd fix(RemoteVideo): change hasVideoStarted logic
We used to rely on 'currentTime' of the video element, but we execute
'updateView' from the 'onplay' callback and on fast machines it may
happen that the value is 0 even though the video has just started.
2016-09-26 13:01:35 -05:00
paweldomas 40f2c593a2 ref(SmallVideo): figure out what is to be displayed
At any point of time we display one of the three: video, avatar or
blackness. The purpose of this commit is to make that fact more clear
in the code.
2016-09-26 13:01:35 -05:00
paweldomas 30cb948dcf feat(SmallVideo): make thumbnail grey
The video or the avatar on a thumbnail will be displayed in greyscale
when the user is having connectivity issues.
2016-09-26 13:01:35 -05:00
paweldomas fceb512a03 ref(SmallVideo): add 'isCurrentlyOnLargeVideo' 2016-09-26 13:01:35 -05:00
paweldomas 9d1364b6fb feat(RemoteVideo): show disconnected GSM bars for remotes 2016-09-26 13:01:34 -05:00
paweldomas 3ef5dd20ef ref(RemoteVideo): store JitsiParticipant instead of id 2016-09-26 13:01:34 -05:00
paweldomas 2c01fde713 ref(SmallVideo): rename 'isMuted' to avoid confusion 2016-09-22 08:57:01 -05:00
yanas 1486eac752 Applies fixes to thumbnail video toolbar from m-voloshin 2016-09-18 16:58:34 -05:00
yanas 0013745783 Video thumbnails redesign 2016-09-14 21:20:54 -05:00
yanas 09f7615a35 Changes icon set. 2016-09-11 23:36:15 -05:00
damencho 83546a899f Revert "Temprorary disable kicks hack."
This reverts commit 76a7c7b426.
2016-09-07 10:48:13 -05:00
yanas 76a7c7b426 Temprorary disable kicks hack. 2016-09-02 11:19:17 -05:00
damencho 246ab88a3e Fixes muting particular remote participant.
There was a bug that the handlers for menuItem for mute and kick are added for all remote participants. When clicked multiple handlers are executed and the action will be executed for all remote participants.
2016-08-23 18:37:41 -05:00
yanas da0898a066 Isolate object-fit fix for Windows Qt browser only 2016-08-08 17:03:13 -05:00
yanas 5654d34ee8 Fix remote participant menu for moderator 2016-08-04 15:24:36 -05:00
damencho 74ece3a775 Uses videoType from the video track for the initial value.
Handles the case where the remote track is with initial value of camera and no further events are received for video type changed.
2016-07-20 22:13:26 -05:00
hristoterezov 1963972f75 Fixes the issue with missing audio element for remote participants 2016-07-15 13:12:14 -05:00
damencho 613569ff09 Checks whether we need to modify document, before change - on display name change. 2016-04-09 12:04:01 -05:00
damencho 94d98ec0ab Fixes returning to dominant speaker after closing shared video. Renames a method and fix its behaviour was handling both case when removing just video element in small videos (local or remote) and when we are removingParticipantContainer, now just handles the second one and uses focusedID if any or dominantSpeakerID if any, otherwise elects new video. 2016-03-24 13:11:03 -05:00
yanas cc761700fe Extends the follow-me feature by adding the possibility to follow the pinned participant, the shared video and the shared document. Adds the possibility to enable disable follow-me from the settings panel. Some other small fixes throughout the UI. 2016-03-23 20:43:29 -05:00
damencho ca56734d9c Moves VideoLayout reference in SmallVideo as it is used there in updateView. 2016-03-16 13:28:28 -05:00
yanas ad44cc518a Fixes resizing problems introduced with previous resizing commit. Fixes side panel open/close code and resizing. 2016-03-02 13:50:55 -06:00
yanas 48b225f382 Merge pull request #516 from isymchych/fix-auth
Code cleanup
2016-02-29 13:35:53 -06:00
isymchych c294f592c8 code cleanup: remove redundant span.nick elements 2016-02-25 12:40:24 +02:00
yanas 30f3da98e5 Fixes thumbnail resize and thumbnails going on a second row. Refactors code around the film strip and resize in general. 2016-02-24 15:05:24 -06:00
damencho 3c61bac3c8 Handles track removed and removes video elements. When switching on and off desktop sharing video elements number grow under remote video span. 2016-02-23 16:47:55 -06:00
isymchych 0bcbd105e3 escape nicknames before displaying them 2016-02-23 17:20:33 +02:00
isymchych 401e5e7ae0 fix jshint issues 2016-02-12 16:28:43 +02:00
damencho e81d3c02ad Shows dominant speaker icon for the local user, when he is the dominant speaker. 2016-02-08 15:42:03 -06:00
paweldomas 7ec6e9ae29 Gets rid fo RTCBrowserType usages. 2016-02-02 15:52:02 -06:00
paweldomas a6ff9f8ee2 Removes unused code related to Firefox.
Commented part seems not to be required anymore as everything work well without it.
2016-02-02 13:54:37 -06:00
paweldomas 103b5d71d0 Encapsulates direct access to .currentTime field into 'hasVideoStarted' method of RemoteVideo.
Removes duplicated logic for hiding video element when the user is muted.
2016-02-01 16:08:47 -06:00
paweldomas ab13fa35b4 'currentTime' property of stream elements are now supported by Temasys plugin. 2016-02-01 16:08:36 -06:00
paweldomas 48cedb0865 Adopts to new semantics of JitsiTrack#attach method. 2016-02-01 15:01:45 -06:00
Paweł Domas 04858e7f06 Merge pull request #481 from isymchych/fix-pinning
Do not pin participant if moderator clicked item in remote user menu
2016-01-29 13:44:46 -06:00
yanas fe2804f474 Fixes SmallVideo object not making a difference between an audio and a video stream, which was causing FireFox issues with large video set to the audio stream. 2016-01-28 18:33:27 -06:00
isymchych 93aac798f3 do not pin participant if moderator clicked item in remote user menu 2016-01-28 16:36:55 +02:00
isymchych 6998827982 do not hide small video until stream has been attached 2016-01-28 13:59:33 +02:00
damencho 8b8cbb2ccc Handles fake video track and fixes remote audio. 2016-01-22 16:37:33 -06:00
damencho aed2d97c10 Fixes displayname on remote video on FF. Seems innerText is not working on FF, replace it with innerHTML. 2016-01-14 16:34:22 -06:00
damencho 0531daf541 Updates the way we update large/small video, avatars and displayname. Fixes issue with not displying avatars in local or remote video when video muted. Fixes if pinned participant turns off video and when unpin we return to the correct dominant speaker. 2016-01-14 10:28:24 -06:00
hristoterezov 3168c86f77 Fixes mute participant functionality 2015-12-31 16:02:03 -06:00
isymchych b375b14696 abstract out remoteVideos management 2015-12-30 13:12:01 +02:00
isymchych a10f9437f1 Integration of statistics module 2015-12-30 13:12:01 +02:00
hristoterezov 3ec04d5a95 Implements desktop sharing. 2015-12-29 16:30:50 -06:00
isymchych 6ded050b51 do not use RTC/xmpp in UI module 2015-12-17 17:31:56 +02:00
damencho 6b621654ab Adds speaker indicator and no longer use the display name for that purpose. 2015-11-23 17:30:24 -06:00