127 Commits

Author SHA1 Message Date
virtuacoplenny
ee74f11c3d
feat(recording): frontend logic can support live streaming and recording (#2952)
* feat(recording): frontend logic can support live streaming and recording

Instead of either live streaming or recording, now both can live together. The
changes to facilitate such include the following:
- Killing the state storing in Recording.js. Instead state is stored in the lib
  and updated in redux for labels to display the necessary state updates.
- Creating a new container, Labels, for recording labels. Previously labels were
  manually created and positioned. The container can create a reasonable number
  of labels and only the container itself needs to be positioned with CSS. The
  VideoQualityLabel has been shoved into the container as well because it moves
  along with the recording labels.
- The action for updating recording state has been modified to enable updating
  an array of recording sessions to support having multiple sessions.
- Confirmation dialogs for stopping and starting a file recording session have
  been created, as they previously were jquery modals opened by Recording.js.
- Toolbox.web displays live streaming and recording buttons based on
  configuration instead of recording availability.
- VideoQualityLabel and RecordingLabel have been simplified to remove any
  positioning logic, as the Labels container handles such.
- Previous recording state update logic has been moved into the RecordingLabel
  component. Each RecordingLabel is in charge of displaying state for a
  recording session. The display UX has been left alone.
- Sipgw availability is no longer broadcast so remove logic depending on its
  state. Some moving around of code was necessary to get around linting errors
  about the existing code being too deeply nested (even though I didn't touch
  it).

* work around lib-jitsi-meet circular dependency issues

* refactor labels to use html base

* pass in translation keys to video quality label

* add video quality classnames for torture tests

* break up, rearrange recorder session update listener

* add comment about disabling startup resize animation

* rename session to sessionData

* chore(deps): update to latest lib for recording changes
2018-05-16 07:00:16 -07:00
Saúl Ibarra Corretgé
2861d8d24e misc: remove dead code 🔥🔥🔥 (#2844)
- old toolbox actions
- chat command processor
- room subject handling
2018-04-19 10:24:16 -07:00
Leonard Kim
abee3331aa ref(toolbar): remove remnant of custom tooltip display on demand
The feature was not ported to the new toolbar. Arguable these
can all be moved into notification but for now simply the
logic will be removed and worked on again as demand arised.
2018-04-11 10:35:01 +02:00
Leonard Kim
1eee20dd5a ref(toolbar): remove contact list 2018-04-10 09:34:52 +02:00
Leonard Kim
d93782af8a feat(new-toolbars): initial implementation 2018-03-27 00:54:30 -05:00
Leonard Kim
c9b54845d9 ref(settings): convert panel to react
The goal is to reduce usage on atlassian/aui. New components
have been created to display the settings panel. Language
selection will reach into i18n for state whereas moderator
options will keep state in redux.
2017-12-04 16:19:18 -06:00
yanas
db71de97af Reactify mute remote participant (#2145)
* fix(remote-mute): Moves remote participant mute to react

* fix(translation): Removes unused strings

* [squash] Addressing comments
2017-11-09 09:23:17 -08:00
hristoterezov
969f5d67ab feat(eslint): Enable for non react files 2017-10-16 14:36:29 -05:00
Leonard Kim
31729d7949 feat(contact-list): convert to react
- Remove references to the model ContactList.
- Replace ContactListView with an empty element for attaching
  the React Component ContactListPanel, which has the same
  features as the old ContactListView.
- Create new selector for getting non-fake participants for
  ContactListPanel's props.
- Create a ParticipantCounter component to place in the contact
  list button. Previously ContactListView updated that but now
  it's a react component hooked into the participant state.
- Remove pub/sub that was used only by ContactListView.
2017-09-06 12:11:33 -05:00
virtuacoplenny
735a596afe ref(recording): convert recording label to react (#1915)
* ref(recording): convert recording label to react

- Create a RecordingLabel component for displaying the current
  recording state, as reflected in the redux store. This is
  needed for 1-on-1 mode to be completely in redux.
- Update the store with the recording state so RecordingLabel
  can update itself.
- Remove previous logic for updating the non-react label, which
  includes event emitting for filmstrip visibility changes,
  as RecordingLabel is hooked into redux updates.

* ref(recording): use status and type constants from lib

* make label really dumb, move logic back to Recording
2017-08-25 11:45:30 -05:00
hristoterezov
378a8d014e feat(remotecontrol): Prevent multiple remote control sessions (#1875) 2017-08-17 09:43:22 -07:00
paweldomas
3926d705ad feat: add config.startScreenSharing
Will try to use screensharing instead of camera video from
the beginning.
2017-07-17 15:32:01 +02:00
hristoterezov
814d56c25c feat(remotecontrol): multi monitor support 2017-07-06 21:20:35 -05:00
Leonard Kim
56b12bd969 fix(vertical-filmstrip): move video status labels back to top right
The video status labels, which include recording and hd status,
have been moved back to the top left while in vertical filmstrip
mode. The following had to be done:
- Remove styling to move the labels to the bottom left
- For VideoStatusLabel, move filmstrip remote video count, toggle
  state, and 1:1 state into redux.
- Use middleware to emit out to the Recording label when the
  filmstrip changes.
- Create an empty Filmstrip file for web and identify the existing
  Filmstrip component as native.
2017-05-23 13:28:27 -07:00
yanas
2855ea1500 Adds dial-out UI. 2017-05-23 09:00:40 -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
Lyubo Marinov
75a486ff96 Merge branch 'abstract_transport2'
Additionally, attempt to move closer to the coding style adopted by
react/.
2017-05-02 17:40:16 -05:00
Leonard Kim
44b81b20e3 feat: convert invite dialog to react and redux
Converting the invite modal includes the following:
- Creating new react components to display InviteDialog. The
  main parent components are ShareLink and PasswordOverview,
  the later handles displaying lock state and password editing.
  These components do not make use of atlaskit as the component
  for input does not yet support readonly, so for consistency
  within the modal content no atlaskit was used.
- Using redux for keeping and accessing lock state instead of
  RoomLocker.
- Publicly exposing the redux action lockStateChanged for direct
  calling on lock events experienced on the web client.
- Removing Invite, InviteDialogView, and RoomLocker and references
  to them.
- Handling errors that occur when setting a password to preserve
  existing web funtionality.
2017-04-19 20:41:23 -05: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
damencho
61470c0d24 Moves web password required dialog to react. 2017-03-30 14:21:05 -05:00
Lyubo Marinov
18368fefaa Comply w/ coding style 2017-02-28 23:22:02 -06:00
damencho
a1b3c56de7 Uses tooltip to show custom popups for mute mic button/shared video button. 2017-02-15 11:29:26 +02:00
hristoterezov
b22e3ee253 style(remotecontrol): Fix JSDoc for RemoteControlEvent 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
846fb9abb0 feat(remotecontrol): Implement requesting remote control permissions 2017-01-23 15:29:25 -06:00
hristoterezov
0f33e59e4d feat(remotecontrol): announce remotecontrol support 2017-01-23 15:29:25 -06:00
Дамян Минков
e679509c56 Merge pull request #1094 from bgrozev/conn-quality
Conn quality
2016-11-01 17:46:13 -05:00
hristoterezov
e731f6c3f3 feat(translation): ES6 support 2016-11-01 15:05:43 -05:00
Boris Grozev
051db50b3f feat: Moves connectionquality to lib-jitsi-meet. 2016-10-31 16:07:25 -05:00
paweldomas
f7bfe8d8bf feat: introduce ConferenceUrl module
We need to make sure that on the page reload all original parameters
used to load the conference are preserved. New modules helps to manage
different types of conference URLs like the one used for invites and
the one for reloading the page.
2016-10-20 13:53:24 -05:00
hristoterezov
4acfb033c8 style(LargeVideo): Rename LARGE_VIDEO_AVATAR_DISPLAYED event 2016-10-19 15:57:02 -05:00
yanas
7baa473e55 Fixes full screen event handling 2016-10-13 15:10:10 -05:00
yanas
74f31db434 Dialogs re-design, invite and password modifications 2016-10-11 19:08:24 -05:00
Ingo Bauersachs
e94bf73cc3 Match enabled languages to available languages 2016-09-26 21:34:46 +02:00
yanas
644faca306 Re-designs invite dialog as share link. 2016-09-22 15:50:09 -05:00
yanas
8b7bdb4957 Changes the raise hand event name to fit better the action 2016-09-16 10:22:50 -05:00
yanas
1853fa6fae Adds raise hand toggle state. 2016-09-16 10:22:50 -05:00
hristoterezov
dab5252746 feat(ringoverlay): Change the background when the avatar is displayed 2016-09-14 16:26:17 -05:00
yanas
f811410b45 Settings re-design 2016-09-11 16:55:06 -05:00
yanas
b4c9816d9f Rename side panels and implement toggle/untoggle policy 2016-09-08 17:38:41 -05:00
damencho
0e27f471f1 Removes avatarURL from settings UI.
Removes storing avatarURL in localstorage and retrieving it.
2016-08-30 14:09:07 -05:00
hristoterezov
f899d16a79 Implements extension external installation for popup windows 2016-08-10 14:13:32 -05:00
hristoterezov
4ff297730c Adds Armenian and Occitan languages 2016-07-20 15:38:50 -05:00
hristoterezov
39e71efb2f Adds new languages to the language select box 2016-07-20 15:04:14 -05:00
Boris Grozev
de41977c77 Logs resolution changes to callstats. 2016-07-08 15:16:27 -05:00
hristoterezov
8deb003ef6 JWT client support 2016-06-13 16:11:44 -05:00
hristoterezov
49e60a8b4f Merge pull request #645 from tsareg/master
Added ability to change output audio device through settings
2016-05-10 13:28:40 -05:00
hristoterezov
c3338d3bf2 Implements custom context menu to flip the local video 2016-05-06 20:50:37 -05:00
Kostiantyn Tsaregradskyi
2bd600aeaf Very raw version of ability to switch audio output device 2016-05-05 17:34:15 +03:00