Commit Graph

71 Commits

Author SHA1 Message Date
bgrozev 090f2f9ccb Restructures the analytics events (#2333)
* ref: Restructures the pinned/unpinned events.

* ref: Refactors the "audio only disabled" event.

* ref: Refactors the "stream switch delay" event.

* ref: Refactors the "select participant failed" event.

* ref: Refactors the "initially muted" events.

* ref: Refactors the screen sharing started/stopped events.

* ref: Restructures the "device list changed" events.

* ref: Restructures the "shared video" events.

* ref: Restructures the "start muted" events.

* ref: Restructures the "start audio only" event.

* ref: Restructures the "sync track state" event.

* ref: Restructures the "callkit" events.

* ref: Restructures the "replace track".

* ref: Restructures keyboard shortcuts events.

* ref: Restructures most of the toolbar events.

* ref: Refactors the API events.

* ref: Restructures the video quality, profile button and invite dialog events.

* ref: Refactors the "device changed" events.

* ref: Refactors the page reload event.

* ref: Removes an unused function.

* ref: Removes a method which is needlessly exposed under a different name.

* ref: Refactors the events from the remote video menu.

* ref: Refactors the events from the profile pane.

* ref: Restructures the recording-related events.

Removes events fired when recording with something other than jibri
(which isn't currently supported anyway).

* ref: Cleans up AnalyticsEvents.js.

* ref: Removes an unused function and adds documentation.

* feat: Adds events for all API calls.

* fix: Addresses feedback.

* fix: Brings back mistakenly removed code.

* fix: Simplifies code and fixes a bug in toggleFilmstrip

when the 'visible' parameter is defined.

* feat: Removes the resolution change application log.

* ref: Uses consistent naming for events' attributes.

Uses "_" as a separator instead of camel case or ".".

* ref: Don't add the user agent and conference name

as permanent properties. The library does this on its own now.

* ref: Adapts the GA handler to changes in lib-jitsi-meet.

* ref: Removes unused fields from the analytics handler initializaiton.

* ref: Renames the google analytics file and add docs.

* fix: Fixes the push-to-talk events and logs.

* npm: Updates lib-jitsi-meet to 515374c8d383cb17df8ed76427e6f0fb5ea6ff1e.

* fix: Fixes a recently introduced bug in the google analytics handler.

* ref: Uses "value" instead of "delay" since this is friendlier to GA.
2018-01-03 13:24:07 -08:00
virtuacoplenny 9b67e796bd ref(analytics): centralize all event names (#2272)
* ref(analytics): centralize all event names

* squash: fix typo and alpha ordering

* squash: rename file to AnalyticsEvents to parallel lib-jitsi-meet
2017-12-11 12:48:32 -06:00
Leonard Kim a653816f90 fix(vertical-filmstrip): prevent shared videos from displaying under avatars
- Modify Etherpad and SharedVideo so their resizing takes into account
  the width of the filmstrip in vertical filmstrip mode.
- Modify Filmstrip's getFilmstripWidth to account for when the filmstrip
  is hidden.
- modify VideoContainer so in vertical filmstrip mode it centers the
  shared desktop stream in the middle of the available space not taken
  by filmstrip.
- Also allow clickthrough on the secondary toolbar itself while still
  allowing clicks on the toolbar's buttons. This allows clicks on
  shared videos to go through.
2017-12-05 08:45:45 -06:00
Leonard Kim aec22b8ed9 fix(shared-video): hardcode shared video name
The YouTube api removed player#getVideoData years ago.
I am completely baffled as to how the feature kept working.
The title of the video is no longer obtainable through
the player itself, so instead call the bot participant
"YouTube."
2017-11-13 19:56:41 -06:00
virtuacoplenny 510334fa7f ref(notifications): convert some dialogs to error or warning notifica… (#1991)
* ref(notifications): convert some dialogs to error or warning notifications

- Expand the configurability of the Notification component so warnings
  and errors can be displayed.
- Allow Notification to take in arbitrary text for the body.
- Rename defaultTitleKey to titleKey for consistency with descriptionKey.

* ref(notifications): remove openReportDialog method

openReportDialog is a wrapper around showError that adds
a logger statement. It is being called in one place only
so remove the method and have that one place call logger.

* ref(notifications): UI.showTrackNotWorkingDialog takes a boolean

Change UI.showTrackNotWorkingDialog so it takes a boolean
arguments instead of the entire track. A small refactor so
the method needs to know less.

* [squash] Fixes eslint errors

* WiP: Fixes desktop sharing error strings and adds support button

* [squash] Fix icons appearances

* [squash] Fix translate titles and messages

* [squash] fix(translation): Fixes incorrect password string

* [squash] fix(recording): Fixes recording message

* [squash] fix(warning): Turns some warnings to errors and makes support link optional.

* [squash] fix(translation): Addressing language comments

* [squash] Fixes jsdoc and formatting

* [squash] fix(noopener): Fixes window.open noopener

* [squash] fix(constants): Extract constants and refactor NotificationWithToggle

* [squash] fix(lang): Fixes camera and mic error titles

* [squash] fix(supportLink): Renames addSupportLink to hideErrorSupportLink
2017-11-03 14:05:03 -05:00
hristoterezov 0b50578de9 style(analytics): sendEvent -> sendAnalyticsEvent 2017-10-17 19:33:32 -05:00
hristoterezov 969f5d67ab feat(eslint): Enable for non react files 2017-10-16 14:36:29 -05:00
hristoterezov 0eddef4d62 feat(mute): Add analytics and console logs for audio/video mutes 2017-10-13 09:50:48 -05:00
hristoterezov df1437f018 ref(analytics): Use analytics from features/analytics 2017-10-13 09:50:48 -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
Leonard Kim 7cea557416 ref(shared-video): move SharedVideoThumb to own file 2017-08-22 10:27:34 -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 e3361e2f3b feat(tooltips): convert popup tooltips to InlineDialog 2017-08-21 15:16:09 -05:00
Leonard Kim f1f46e0af5 feat(pinning): move web pinning logic into redux
- Re-use the native redux pinning implementation for web
- Remove pinning logic from conference.js
- To the native pinning add a check for sharedVideo so
  youtube videos do not send a pin event
- Add shared videos as a participant to enable pinning and
  so they can eventually get added to the filmstrip
- Emit UIEvents.PINNED_ENDPOINT from middleware
2017-08-11 10:43:35 +01: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 2333249b05 feat(1-on-1): Initial implementation
- Expose an api on Filmstrip to hide the remote videos container, which does so
  by adding a class
- Modify listeners for user join, leave, share video to call the api
- Hide the container when there is 1 or fewer remote participants
- Always show the container if self view is in focus
- Show the container if the number of remote thumbnails does not match the count
  of remote participants, such as the case of sharing a video
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
Lyubo Marinov a9bdde193d Approach consistent filmstrip naming
We seemed to be using the names "film strip" and "filmstrip" (and,
consequently, their source code-conscious forms such as film-strip,
FilmStrip, etc.) In order to comply with our coding style which requires
a consistent one name for a given abstraction, choose one name and
rename the uses of the other name.

Wikipedia has a definition of a "filmstrip", I couldn't find a "film
strip". I guess our abstraction can be seen as what's described there.
When I google "film strip", I get results about "filmstrip" at the top.
That's why I chose "filmstrip".

Certain uses of "film strip" such as interfaceConfig.filmStripOnly and
in the external API I left untouched in an attempt to preserve
compatibility.

I wasn't sure whether CSS was tangled in compatibility so I made a
choice and renamed there was well.
2017-04-10 12:59:44 -05:00
Lyubo Marinov 1e2d88cd5d React Toolbox 2017-04-03 13:29:33 -05:00
Ilya Daynatovich da4425b5c0 React Toolbar 2017-04-03 13:05:21 -05:00
damencho a1b3c56de7 Uses tooltip to show custom popups for mute mic button/shared video button. 2017-02-15 11:29:26 +02:00
paweldomas b58f1cdd16 use logger instead of console 2016-11-23 11:32:55 -06:00
Ilya Daynatovich 5b0777d4db Made inputs identical 2016-11-11 17:22:47 +02:00
damencho e34d86b485 Stops player update before sending stopping of shared video.
We used to stop player updates on self presence received, so between stop and self presence we can send a playing update which will provoke adding the video again to other participants.
2016-11-09 12:42:47 -06:00
damencho 328ff54423 Fixes undefined error and shared video. 2016-10-27 14:08:06 -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
damencho b5f0d30298 Removes not used parameter of openMessageDialog (title).
We pass key which is enough to obtain the title.
2016-10-18 14:54:14 -05:00
yanas 74f31db434 Dialogs re-design, invite and password modifications 2016-10-11 19:08:24 -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
paweldomas 3ef5dd20ef ref(RemoteVideo): store JitsiParticipant instead of id 2016-09-26 13:01:34 -05:00
paweldomas ecfc05bcc8 fix(LargeVideoManager): enable video problems filter on VideoContainer
Only the VideoContainer is interested in showing the video problems
filter which is meant to be displayed when ICE is disconnected.
2016-09-22 12:43:03 -05:00
damencho 536ffb31e0 Moves loading of analytics in the library. 2016-08-09 15:04:40 -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
hristoterezov 7bf9a82f0b Implements conference reload support 2016-07-07 20:44:04 -05:00
damencho 5dffddceec Make sure we have only one dialog instance. 2016-07-06 13:26:27 -05:00
yanas 57815cb2fe Unifrms messageHandler access and adds enable disable 2016-06-08 14:48:45 -05:00
yanas d95b2b034b Fix initial state of user interaction mute 2016-04-28 17:47:40 -05:00
yanas c2f46a5cfe Refactor shared video manager 2016-04-28 17:44:12 -05:00
damencho 2442f0dfd3 Removes playerPaused variable and just use player to get its state. 2016-04-26 10:22:12 +03:00
yanas 3a9d743d47 Add shared video smart mike mutes unmutes 2016-04-25 15:39:31 -05:00
yanas d08e37b42b Adds smart un-mute to the shared video logic 2016-04-19 13:07:04 -05:00
yanas a1cef0f181 Add notification popup for shared video auto mute 2016-04-05 14:17:50 -05:00
damencho b949ffdda1 Prevents users that are not sharing the video of pausing the video and leaves the control to the user sharing the video. 2016-04-01 17:23:30 -05:00
damencho 7dad981112 Follow seeking while player is paused. 2016-04-01 17:08:35 -05:00
damencho bede8feccc Mutes local video when shared video is playing and mutes shared video if user wants to talk. 2016-04-01 16:24:35 -05:00
damencho 9a984b7f84 Instantly update volume changes. 2016-04-01 14:46:42 -05:00
damencho ebe37ff98a Handle on player error so we can remove the player. 2016-03-31 14:11:33 -05:00
damencho 104503ee13 Make sure we store initial attributes in order, so it will hold the last state we want to be in. Respects quick initial stop received. 2016-03-31 12:14:45 -05:00
damencho 6951089130 Force seek when transition from and to pause state. 2016-03-31 00:07:12 -05:00
damencho 952eaf5a0c Avoids double loading of the player. 2016-03-30 21:36:05 -05:00