Commit Graph

230 Commits

Author SHA1 Message Date
yanas 77b789e26a Implements a filmstrip-only mode for the toolbox 2017-04-10 09:36:25 -05:00
Lyubo Marinov 95667ef98e Revert "[RN] Use rounded avatars in the film strip"
This reverts commit 739298c782.
2017-04-09 12:58:27 -05:00
Saúl Ibarra Corretgé 739298c782 [RN] Use rounded avatars in the film strip 2017-04-09 11:55:57 -05:00
Saúl Ibarra Corretgé a1da6bff1a [RN] Fix loading config from non-default domains
When a conference is to happen in a domain which is not the defaut, its config
is loaded and set. As part of this process, lib-jitsi-meet is disposed. Because
disposing is asynchronous, events happen in this sequence:

- set new config
- dispose lib (which effectively wipes the config)
- init lib

This results in the library to be initialized without the loaded config, which
was lost. This commit fixes that by delaying setting the config and
re-initializing the library until it was disposed.
2017-04-07 14:54:32 -05:00
Saúl Ibarra Corretgé 18a81d7ca0 [RN] Fix passing config options when creating a conference
JitsiConnection.initJitsiConference doesn't automatically pass the global config
options, so grab the config from the Redux store and pass it.
2017-04-07 14:53:52 -05:00
Saúl Ibarra Corretgé ae8c5287e4 [RN] Remove workaround for video mirroring on iOS
It's now natively supported:
https://github.com/oney/react-native-webrtc/pull/244
2017-04-06 14:17:12 -05:00
Lyubo Marinov fd10362bef Comply w/ coding style 2017-04-06 12:09:01 -05:00
Saúl Ibarra Corretgé 54bb5f1879 [RN] Add ability to share the URL for a conference 2017-04-06 00:24:26 -05:00
Saúl Ibarra Corretgé 13e3375e8a [RN] Use proximity sensor when in audio-only mode
When the audio-only mode is enabled, turn on the proximity sensor to dim the
screen and disable touch controls when there is an object nearby.
2017-04-05 22:06:30 -05:00
Saúl Ibarra Corretgé 37157dc9e2 [RN] Use _switchCameras provided by lib-jitsi-meet
The functionality to use the react-native-webrtc custom API for fast switching
cameras was moved to JitsiLocalTrack in lib-jitsi-meet. Use that.

Ref: https://github.com/jitsi/lib-jitsi-meet/pull/444
2017-04-05 21:01:00 -05:00
Saúl Ibarra Corretgé 8fe3dce649 [RN] Add audio only mode for conferences
The behavior can be triggered with the toggleAudioOnly action, which is
currently fired with a button.

The following aspects of the conference will change when in audio only mode:

- local video is muted
- last N is set to 0 (effectively muting remote video)
- full-screen mode is exited
- audio mode is set to "audio chat" (default output is the earpiece)
- the wake lock is disengaged

One aspect not handled in this patch is disabling the video mute button while in
audio only mode. The user should not be able to turn back video on in that case.
2017-04-05 15:07:34 -05:00
Lyubo Marinov 0e9509ae9b Comply w/ coding style 2017-04-05 04:01:57 -05:00
Saúl Ibarra Corretgé 618dedc58e [RN] Use participant connection status events instead of last N
They better represent if a participant has video available or not. There are
cases when even a participant in the last N set would not have video because it
disconnected momentarily, for example.
2017-04-05 01:41:46 -05:00
Saúl Ibarra Corretgé 623b7a8d6f [RN] Show avatar if a participant is not in last N 2017-04-05 01:21:23 -05:00
Saúl Ibarra Corretgé 7c76f124bf [RN] Use native API for toggling cameras
Use the curstom _switchCamera API provided by react-native-webrtc to toggle the
camera instead of destroying the current track and creating a new one.

_switchCamera is implemented at a low level, so the track perceives no changes,
thus being a lot faster and less involved since the capturer doesn't need to be
destroyed and re-created.

In addition, don't mirror the video for the back camera.

Ref: https://github.com/oney/react-native-webrtc/pull/235
2017-04-05 00:21:35 -05:00
Saúl Ibarra Corretgé f5973e0eee [RN] Fix toggling camera
When a new local video track is created an associated video capturer is created
for it. The cause for the freezes seems to be creating mutliple tracks (which
come with a video capturer each). Fix this by first disposing of the previous
video track before creating the new one.

Ref:
https://github.com/oney/react-native-webrtc/issues/209#issuecomment-281482869
2017-04-05 00:20:17 -05:00
Lyubo Marinov 32634356a6 Simplify naming 2017-04-05 00:20:17 -05:00
Lyubo Marinov 6d0a07a4cd Remove unnecessary source code
Lib-jitsi-meet does not really implement isScreenSharing. Besides,
getCameraFacingMode will already make sure that the video track does not
represent a desktop stream.
2017-04-05 00:20:17 -05:00
Lyubo Marinov 684572bd05 Comply w/ coding style 2017-04-04 17:52:06 -05:00
Ilya Daynatovich bcbdaaa6ea Fix interface_config.js/interfaceConfig overriding
It got broken while rewriting the Web toolbar in React Toolbox. There is
a problem with the toolbars and how we construct the intialState of the
buttons. The _getInitialState() in the toolbox reducer gets the list of
buttons from interfaceConfig, but in fact interfaceConfig is meant to be
overriden in several very important cases. One of the cases being the
external API, which we use in several projects in production.
2017-04-04 17:00:39 -05:00
Lyubo Marinov d37468975c Fix ESLint warnings
JSDoc comments didn't follow the ESLint rule for properly formatted
sentences.

BTW, I'm not blind to the fact that PasswordRequiredPrompt and
RoomLockPrompt participated in a birthing of source code through
copy+paste. (If we do not copy+paste, we will not have to fix one and
the same source code such as comments  multiple times.)
2017-04-04 13:47:35 -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
yanas 3daae94bca Merge pull request #1379 from jitsi/base-react-dialogs-2
Password required dialog (web&native) and native room lock using basic react dialogs.
2017-04-03 10:52:33 -05:00
Saúl Ibarra Corretgé 9c544c0a4b eslint: remove no longer needed comment
jsdocs were added, remove old comment which no longer applies.
2017-04-03 09:26:57 +02:00
Ilya Daynatovich 74b5638d99 Add jsdocs, apply manual formatting
https://github.com/jitsi/jitsi-meet/pull/1397 (React Toolbar) is huge at
the time of this writing. In order to reduce it, I'm extracting changes
not directly related to React-ifying the Toolbar such as added jsdocs
and source code formatting.
2017-03-31 15:02:24 -05:00
Saúl Ibarra Corretgé a10f040df6 Merge pull request #1440 from jitsi/iframe_api_race_condition
Fix executeCommand race condition
2017-03-31 16:48:50 +01:00
Saúl Ibarra Corretgé 4ddc426966 [RN] Move setting last N action to base/conference
This is in preparation for an upcoming "audio only mode" feature. Setting last N
will also be required for it, so this patch factors out the action and makes it
public so other modules can reuse it.

In addition, if the value is set to undefined the configured default value (or
-1 if absent) is picked.
2017-03-30 14:40:05 -05:00
damencho 309ce43e05 Moves native password required prompt to room lock feature.
Moves native dialogs to use dialog container. Implements native Dialog that uses react native Prompt.
2017-03-30 14:21:15 -05:00
damencho 61470c0d24 Moves web password required dialog to react. 2017-03-30 14:21:05 -05:00
virtuacoplenny 24ee8eb16a electron: add desktop picker
#1411
2017-03-30 17:58:31 +01:00
hristoterezov 4ab4aa04da fix(avatar): Avatar properties not updated before local user join
Replaces changeAvatarID, changeAvatarURL and changeEmail with
participantUpdated action.
participantUpdated can be fired for local user without id. This
fixes the problem with updating the local user before the user
join the conference which results in fix for failing to execute
commands for avatarID, avatarURL and email right after the iframe
api creates the iframe with Jitsi Meet.
2017-03-29 10:23:07 -05:00
Lyubo Marinov 4e276471e5 Comply w/ coding style: consistency 2017-03-28 11:43:33 -05:00
Saúl Ibarra Corretgé c5eac63da1 [RN] Move all mobile only features to a subdirectory 2017-03-28 09:36:00 -05:00
Lyubo Marinov 165294bfb1 Comply w/ coding style 2017-03-27 22:50:47 -05:00
Saúl Ibarra Corretgé 2d5f0479bd [RN] Disable remote video while in the background
Set the video channel "last N" property to 0, thus making the client not receive
any remote video.
2017-03-27 22:11:13 -05:00
hristoterezov 3ae99ea0b9 feat(overlays): for filmstrip only mode 2017-03-27 14:20:25 -05:00
hristoterezov c461e8b63c ref(overlays): Replace the abstract class for overlays with overlay frame component
In this case makes more sense to have overlay frame included in every overlay instead
of abstract class that implements the overlay frame and have to be extended by every
overlay. In addition, mapStateToProps isn't working well with inheritance.
2017-03-24 13:16:14 -05:00
Lyubo Marinov 84b9c5f5fd Coding style 2017-03-24 09:06:54 -05:00
Saúl Ibarra Corretgé 43c8fc6847 [RN] Fix mirroring video views on platforms with native support 2017-03-24 09:02:32 -05:00
Ilya Daynatovich affd965d5d Remove an unnecessary file 2017-03-20 14:42:54 -05:00
Leonard Kim 989161159d Modal dialog for displaying dominant speaker times 2017-03-20 12:47:20 -05:00
Ilya Daynatovich 59a74153dc Toolbar notice as React Component 2017-03-20 11:27:08 -05:00
damencho 51f0c8a388 Adds base dialog implementation. 2017-03-15 16:33:04 -05:00
Lyubo Marinov e6f906b9ca [RN] Fix undefined.avatarID in ParticipantView 2017-03-08 17:05:55 -06:00
hristoterezov d74e43ddcc [RN] fix(Avatar): Match the implementation for web 2017-03-08 13:21:34 -06:00
Lyubo Marinov 23ddce122b Comply w/ coding style 2017-03-07 21:54:37 -06:00
hristoterezov 814bd26c07 feat(Avatar): Implement Avatar for web 2017-03-07 21:54:37 -06:00
Lyubo Marinov 45e09af692 react-native 0.42.0 2017-03-07 15:09:39 -06:00
Любомир Маринов e780ae00d0 Merge pull request #1360 from jitsi/move_avatar
ref(avatar): Move Avatar and ParticipantView to base/participants
2017-03-02 21:17:41 -06:00