Commit Graph

170 Commits

Author SHA1 Message Date
Leonard Kim 3aedce11f2 fix(filmstrip): prevent error on updating indicators for shared video
Shared video (youtube videos) do not have indicator icons about
dominant speaker and raised hand. Add a check to see if the
indicator icon container exists before trying to attach react
icons to it. The error thrown didn't seem to be causing any
UI issues though.

While this truthy check before doing ReactDOM.render seems
like it should be a general practice, I'm hesistatnt to make
the change broadly because it hasn't been a problem so far.
2017-12-19 17:14:42 -06:00
virtuacoplenny 28013f6ffa ref(avatars): remove Avatar.js (#2289)
* ref(avatars): remove Avatar.js

- Rely on redux getting updated with new participant state
and any calls to getAvatarURL passing in the redux
participant state. This way the state within Avatar.js can
be removed.
- Clean up methods on UI.js. Because all state is in the
store, separate methods for updating the avatar aren't as
necessary. Instead centralize accessing of the avatar for
components outside of redux and centralize the call to
update avatars for non-react components.
- Controversial: cache a participant's avatarURL on the
participant state. Currently the participant's avatarURL
that is generated without jwt (which sets the avatarURL directly)
is not cached. Without cache, there can be many redundant
calls to APP.API.notifyAvatarChanged.

* Leverage middleware timing to diff avatars

One alternative implementation is to leverage middleware's
ability to intercept updates before and after redux has
upated and then compare avatarURLs.

* kill UI.getAvatarUrl

* profile button sets its own avatar url (solves update timing)

* remove calls to updating avatar outside of middleware

* update UI.js doc

* remove left over logic from initial implementation

* try to move local user fallback into selector func

* default to id 'local' in selector
2017-12-19 17:11:54 -06:00
yanas e09949be9f feat(dark-theme): Applies dark theme on inline-dialogs, tooltips, flags and more 2017-10-20 15:29:16 -05:00
hristoterezov 969f5d67ab feat(eslint): Enable for non react files 2017-10-16 14:36:29 -05:00
Lyubo Marinov dfebd692f3 eslint 4.8.0
ESLint 4.8.0 discovers a lot of error related to formatting. While I
tried to fix as many of them as possible, a portion of them actually go
against our coding style. In such a case, I've disabled the indent rule
which effectively leaves it as it was before ESLint 4.8.0.

Additionally, remove jshint because it's becoming a nuisance with its
lack of understanding of ES2015+.
2017-10-02 18:12:38 -05:00
virtuacoplenny 483e2ee202 feat(connection-indicator): implement automatic hiding on good connection (#2009)
* ref(connection-stats): use PropTypes package

* feat(connection-stats): display a summary of the connection quality

* feat(connection-indicator): show empty bars for interrupted connection

* feat(connection-indicator): change background color based on status

* feat(connection-indicator): implement automatic hiding on good connection

* fix(connection-indicator): explicitly set font size

Currently non-react code will set an icon size on ConnectionIndicator.
This doesn't work on initial call join in vertical filmstrip after
some changes to support hiding the indicator. The chosen fix is
passing in the icon size to mirror what would happe with full
filmstrip reactification.

* ref(connection-stats): rename statuses

* feat(connection-indicator): make hiding behavior configurable

The original implementation made the auto hiding of the indicator
configured in interfaceConfig.

* fix(connection-indicator): readd class expected by torture tests

* fix(connection-indicator): change connection quality display styling

Bold the connection summary in the stats popover so it stands out.
Change the summaries so there are only three--strong, nonoptimal,
poor.

* fix(connection-indicator): gray background on lost connection

* feat(icons): add new gsm bars icon

* feat(connection-indicator): use new 3-bar icon

* ref(icons): remove icon-connection and icon-connection-lost

Both have been replaced by icon-gsm-bars so they are not
being referenced anymore. Mobile looks to have connect-lost
as a separate icon in font-icons/jitsi.json.
2017-09-26 11:55:09 -05:00
Leonard Kim 52ee8fd473 ref(small-video): remove some global jquery dom querying
Create a reference to the jquery element instead of querying for
it globally. This is to better encapsulate the small video
component.
2017-08-22 10:27:34 -05:00
Leonard Kim 38e2443ab7 feat(small-video): use AtlasKit tooltip 2017-08-21 15:16:09 -05:00
virtuacoplenny 725d39ddcd feat(jitsipopover): convert to InlineDialog (#1804)
* feat(small-video): use InlineDialog for stats and remote menu

- Remove JitsiPopover and use InlineDialog instead.
- Bring the remote menu icon into react.
- Make vertical filmstrip position:fixed so popper (AtlasKit
  dependency) sets InlineDialogs and eventually tooltips to
  position:fixed.

* ref(remote-menu): hook KickButton to redux

* ref(remote-menu): hook MuteButton to redux

* modify padding, toggle dialogs

* pixel push margins to align dialogs, adjust padding of dialogs

* add comment about margin for dialog, add file I forgot

* modify indicator markup so the icon can be moved down while trigger stays at top of toolbar
2017-08-14 10:02:58 -05:00
Leonard Kim 44bbd26c96 ref(stats): process stats through one pub/sub
Instead of passing stats through UI then VideoLayout then the
SmallVideo, pass stats directly to what uses it--ConnectionIndicator.
This also bypasses adding the stats to the store, as they do not
seem to be something that needs to be shared or stored app-wide
just yet.
2017-07-19 15:11:35 -07:00
virtuacoplenny 0481e4cf00 feat(indicators): move the "top toolbar" indicators to react (#1699)
* feat(indicators): move the "top toolbar" indicators to react

* wrap baseindicator
2017-07-10 17:29:44 -05:00
Leonard Kim 152427e01b feat(small-video): convert the "toolbar" to react
Move display of audio muted, video muted, and moderator icons,
which make up the elements of the small video toolbar, into React
Components.
2017-06-30 14:21:44 -05:00
virtuacoplenny 0de032ebd7 feat(avatar): SmallVideo uses the existing Avatar component. (#1712)
* feat(avatar): SmallVideo uses the existing Avatar component.
2017-06-29 13:21:03 -05:00
virtuacoplenny 928181cd7a feat(display-name): convert to React (#1672)
* feat(display-name): convert to React

- Create a new React Component for displaying and updating display
  names on small videos
- The updating of the Component is defined in the parent class
  SmallVideo, which children will get access to through prototype
  copying
- Create a new actionType and middleware so name changes that occur
  in DisplayName can be propogated to outside redux
- Update the local video's DisplayName when a conference is joined
  or else the component may keep an undefined user id

* squash: query for the container, not the el owned by react
2017-06-28 22:35:43 -05:00
Leonard Kim 4ce5888b4c feat(connection-indicator): convert to react
- Create a new ConnectionIndicator component for displaying an
  icon for connection quality and for triggering a popover. The
  popover handling has been left in ConnectionIndicator for now,
  which follows the existing implementation.
- Remove the unused method "connectionIndicatorShowMore"
- Change the implementation of existing methods that update the
  connection indicator to call the same method which will rerender
  the indicator completely.
2017-06-27 15:58:00 -05:00
Leonard Kim 4a1efed4a8 feat(audio-level): convert SmallVideo AudioLevelIndicator to React 2017-06-22 11:14:41 -05:00
paweldomas 2c002c875d fix(SmallVideo): remove invalid character
Removes ' character which should not be there.
2017-06-06 11:15:39 -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
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
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
hristoterezov 8745efb81f Merge pull request #1158 from jitsi/log_collector
Log collector
2016-11-30 13:07:18 -06:00
yanas 0f2ba1cefe refactor(UIUtils): merges show and hide functions and cleans visibility setting 2016-11-29 15:07:18 -06:00
paweldomas 51da40e90c ref(UIUtil): add showOrHideElement 2016-11-28 11:05:18 -06:00
paweldomas b58f1cdd16 use logger instead of console 2016-11-23 11:32:55 -06:00
Ilya Daynatovich 128b301a39 Fix the tests 2016-11-10 14:45:42 +02:00
Ilya Daynatovich 1b1b9475a4 Clean up js from styles 2016-11-10 13:32:12 +02:00
Maxim Voloshin 68ab87cc0d Hide DOM elements using css class 2016-11-10 13:32:12 +02:00
Boris Grozev 9910caf29f docs: Fix some documentation. 2016-11-07 20:38:14 -06:00
damencho 510c650b7b Adds a property to hide display name and disable update view.
Adds a property to hide display name and disable update view in SmallVideo. Localvideo hides displayName and disabled update view while users is editing its name and resumes normal behaviour when editing finishes.
2016-11-04 17:02:30 -05:00
damencho e3edef2999 Renames videocontainer overlay to hoverOverlay. 2016-10-27 14:32:22 -05:00
damencho 328ff54423 Fixes undefined error and shared video. 2016-10-27 14:08:06 -05:00
damencho 2807346bdf Makes decision what to show in avatar consistent (in updateView). 2016-10-27 13:17:17 -05:00
damencho 3ae299cf2b Fixes comments. 2016-10-26 17:18:36 -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
Ilya Daynatovich 698b3caeb8 fix styles in connection indicators 2016-10-26 15:51:09 -05:00
Ilya Daynatovich 323684c5fe fix conflicts after rebase 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 8762aae111 fix(SmallVideo): Add translateElement call removed by previous commit 2016-10-25 16:52:11 -05:00
Maxim Voloshin 86f1d287d7 Fix comments 2016-10-25 20:40:43 +03:00
Maxim Voloshin 6820ec8d23 Show and hide indicators using pure js 2016-10-25 20:40:00 +03:00
Maxim Voloshin 1c218191b0 Apply tooltip for indicator once 2016-10-25 17:50:28 +03:00
hristoterezov 8fafd2b4ea feat(SmallVideo.js): New interface.config property for dominant speaker icon disable 2016-10-10 17:37:21 -05: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
Paweł Domas b4a191e27a Merge pull request #946 from jitsi/fix-moderator-notifications
Fixes moderator notifications on moderator indicator disabled
2016-09-28 14:26:00 -05:00
yanas f10177a352 Fixes moderator notifications on moderator indicator disabled 2016-09-27 14:32:54 -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 fceb512a03 ref(SmallVideo): add 'isCurrentlyOnLargeVideo' 2016-09-26 13:01:35 -05:00
paweldomas 4722054c3e ref(SmallVideo): adds avatar selector 2016-09-26 13:01:34 -05:00
Дамян Минков fbd2879aa3 Merge pull request #918 from kkrisstoff/make-the-star-configurable
disable_star_indicator added
2016-09-22 10:19:16 -05:00
paweldomas 2c01fde713 ref(SmallVideo): rename 'isMuted' to avoid confusion 2016-09-22 08:57:01 -05:00
Kostiantyn Pashura 82ebfd9945 disable_star_indicator added 2016-09-22 12:52:53 +03:00
yanas d1d4674136 Fixes some jsdocs. 2016-09-19 18:04:55 -05:00
yanas 1486eac752 Applies fixes to thumbnail video toolbar from m-voloshin 2016-09-18 16:58:34 -05:00
yanas bc222c60e0 Fixes dominant speaker and raised hand tooltips 2016-09-16 00:37:29 -05:00
yanas 96bbf0419c Adds tooltips 2016-09-16 00:04:19 -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
yanas f824f78db9 Fix video thumbnails for Qt on Linux. 2016-08-22 16:31:20 -05:00
damencho 536ffb31e0 Moves loading of analytics in the library. 2016-08-09 15:04:40 -05:00
yanas da0898a066 Isolate object-fit fix for Windows Qt browser only 2016-08-08 17:03:13 -05:00
damencho 6651168dd3 Moves render and ttfm connection times to the library. 2016-08-05 09:52:09 -05:00
damencho 6302e42229 Uses analytics from lib-jitsi-meet and adds new events.
Adds more analytics events for shortcuts, recording and shared video. Changes the way we calculate ttfm.
2016-08-04 14:19:09 -05:00
damencho df01358fb8 Adds comment. 2016-08-03 12:49:19 -05:00
damencho 06c636311d Adds analytics event and console log for TTFM (time to first media). 2016-08-03 11:19:09 -05:00
damencho 562c2e38db Adds analytics event for rendering audio and video. 2016-08-02 13:19:03 -05:00
hristoterezov 2f202deedf Merge branch 'master' into reloads 2016-07-08 16:03:10 -05:00
Дамян Минков 08bd40bb26 Merge pull request #722 from bgrozev/logging
Logs resolution changes to callstats.
2016-07-08 15:50:14 -05:00
Boris Grozev 66a46fc580 Adds documentation. 2016-07-08 15:17:28 -05:00
Boris Grozev de41977c77 Logs resolution changes to callstats. 2016-07-08 15:16:27 -05:00
hristoterezov 7bf9a82f0b Implements conference reload support 2016-07-07 20:44:04 -05:00
Boris Grozev 2d2e27b8d0 Implements "raised hand". 2016-06-20 16:58:54 -05:00
hristoterezov c3338d3bf2 Implements custom context menu to flip the local video 2016-05-06 20:50:37 -05:00
hristoterezov 655b7019d1 Renames performanceTimes to ConnectionTimes 2016-04-11 10:01:23 -05:00
hristoterezov ddf39a20b8 Fixes time console.log text 2016-04-10 12:25:37 -05:00
yanas e43c5ab54c Add custom-role to presence and special view for Recorders 2016-04-07 12:08:00 -05:00
hristoterezov 8d77088f6d Stores measured times and exposes them 2016-04-01 14:44:25 -05:00
yanas ea9b909775 Fixes exception in follow-me when we receive an update for a video thumbnail that's not there yet. 2016-03-31 15:13:00 -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 38275ce045 Shared video, synchronized playing/seek/muting/volume initial commit. 2016-03-18 15:00:55 -05:00
damencho ca56734d9c Moves VideoLayout reference in SmallVideo as it is used there in updateView. 2016-03-16 13:28:28 -05: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 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 8144201636 Uses RTCUIHelper class from lib-jitsi-meet to select video elements. 2016-02-02 13:54:37 -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
yanas 5834fbe31a Re-implements last N related code to use the library. Fixes issues with resizeThumbnails. Fixes last N related event handling. 2016-01-26 15:27:07 -06:00
yanas 27d509332a Merges Boris Grozev's commit from Dec 8, 2015, named: Uses a single avatar URL, allows to override gravatar with a custom URL. Commit: a2c41392 2016-01-19 17:11:16 -06:00
damencho cd4ebca730 Fixes showing display name and hiding avtar, when video is muted and avtar is on large. 2016-01-14 13:30:56 -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
damencho f2c5e7da41 Removes unused code. 2016-01-11 17:34:02 -06:00
isymchych 0fd0f5b633 refactoring of Etherpad and Prezi 2015-12-30 13:12:01 +02:00
hristoterezov 3ec04d5a95 Implements desktop sharing. 2015-12-29 16:30:50 -06:00
isymchych ec2be349df refactor authentication module 2015-12-17 17:31:56 +02:00
isymchych 6ded050b51 do not use RTC/xmpp in UI module 2015-12-17 17:31:56 +02:00
hristoterezov d060db476f Merge branch 'isymchych-bug/large-video-on-safari' 2015-11-20 11:21:14 -06:00