Commit Graph

396 Commits

Author SHA1 Message Date
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
Saúl Ibarra Corretgé 1d90826098 [RN] Use a more resilient way for testing if we are on React Native
navigator.product is read-only, so we don't run into the risk of it being
changed.
2017-07-19 16:40:06 -05:00
Lyubo Marinov 0b5431b795 [RN] Bind event handler once per instance, not per render 2017-07-19 16:33:57 -05:00
Lyubo Marinov e7fc4739c4 Fixes jsdocs 2017-07-19 16:25:06 -05:00
Saúl Ibarra Corretgé f72932d125 [RN] Fix audio / video mute buttons when permissions are not granted 2017-07-19 14:38:38 +02:00
Saúl Ibarra Corretgé ffc12ccc0e [RN] Disable camera switch button when video is muted 2017-07-19 14:30:36 +02:00
Saúl Ibarra Corretgé 03da40b56a [RN] Disable video mute and camera switch buttons when in audio only mode 2017-07-19 11:58:08 +02:00
Saúl Ibarra Corretgé 055df1c12e [RN] Add ability to disable a ToolbarButton 2017-07-19 11:50:24 +02:00
Lyubo Marinov d87b8823e9 [RN] Don't open the camera on startup when there is no welcome page 2017-07-18 23:42:08 -05:00
Saúl Ibarra Corretgé 8225600b61 [RN] Don't open the camera on startup when there is no welcome page
The end goal of this patch was to avoid opening the camera when there is no
welcome page.

In order to achieve this, the logic for creating the local tracks was
refactored:

Before this patch local tracks were created when lib-jitsi-meet was initialized,
and destroyed when it was deinitialized. As a side note, this meant that when a
conference in a non-default domain was joined, local tracks were destroyed and
recreated in quick succession.

Now, local trans are created and destroyed based on what the next route will be,
and this happens when the target room has been decided. This allows us to create
local tracks the moment we need to render any route, and destroy them when there
is no route to be rendered. As an interesting byproduct, this refactor also
avoids the destruction + recreation of local tracks when a conference in a
non-default domain was left.
2017-07-18 20:42:20 -05:00
Lyubo Marinov b62b296080 Fix typos. Apply consistent formatting 2017-07-18 16:43:58 -05:00
Lyubo Marinov a690b9d5e1 [RN] Handle denied getUserMedia permissions 2017-07-18 16:41:39 -05:00
Saúl Ibarra Corretgé 7361151203 feat(dialog): add missing export for actionTypes
The full-screen module uses the HIDE_DIALOG action to re-engage the full-screen
mode.
2017-07-18 13:35:24 +02:00
Lyubo Marinov 72691eb2dc misc: fix dispatching actions twice when mapDispatchToProps is used 2017-07-17 13:59:04 -05:00
Saúl Ibarra Corretgé 0bf9a78e4c misc: fix dispatching actions twice when mapDispatchToProps is used
The functions need not return anything, or it will be dispatched as another
action.
2017-07-17 13:51:35 -05:00
Lyubo Marinov 7f041170f7 Consistent formatting 2017-07-16 03:44:07 -05:00
Lyubo Marinov e54744e5ef [Android] Use target API 23 2017-07-16 02:26:09 -05:00
virtuacoplenny 244de8096f feat(local-video): convert to react (#1705)
* feat(local-video): convert to react

- Create a VideoTrack component for displaying a video element.
  This mirrors native also having a VideoTrack component.
- The VideoTrack component does not let React update it to prevent
  the video element from re-rendering, which could cause flickers
  and would not work with temasys's overriding of the video element.
- VideoTrack extends AbstractVideoTrack to mirror native
  implementation and to get the dispatch of the onplaying event.
- Remove the onclick handler on the video element. Honestly, I
  didn't get it to work, and did not try, but it is also unnecessary
  because another handler already exists on the video wrapper.

* ref(device-selection): VideoInputPreview uses VideoTrack to show video

* squash into conversion: change css selectors

* squash into conversion: mix in abstract props

* squash into conversion: change shouldComponentUpdate check

* squash: update comment about why triggerOnPlayingUpdate is used
2017-07-14 14:22:27 -05:00
paweldomas b84e910086 feat: add option to disable desktop sharing
config.disableDesktopSharing - when set to false will disable desktop
sharing

interfaceConfig.DESKTOP_SHARING_BUTTON_DISABLED_TOOLTIP - when value is
assigned, will not hide the desktop sharing button completely, but show
as disabled with this value used as the tooltip text.
2017-07-14 10:14:00 -05:00
Aaron van Meerten d752e8b864 accept 'avatar' as well as 'avatarUrl' for avatar field 2017-07-13 15:49:25 -05:00
George Politis d335669afe Merge pull request #1765 from jitsi/feat-local-remote-relayed
feat: Adds TURN indication.
2017-07-13 21:16:40 +02:00
George Politis 62613ff02e feat: Adds TURN indication. 2017-07-13 17:00:27 +02:00
Leonard Kim 4eacbd9f61 fix(tracks): remove mute and videotype listeners on track remove
Listeners were set for when a track muted or changed its video
type, but the listeners were never removed. This would could
cause events to keep firing on the removed tracks, which would
cause redux to fire and error because the tracks were no longer
known. That the tracks still fire events after removal is
another issue...
2017-07-13 09:37:39 +02:00
Leonard Kim 1ad614e812 fix(add-people): remove line break from searchPeople request
Chrome has deprecated line breaks in requests. The template
literal used for the searchPeople url has a line breaks. Instead
of line breaking the request url, concatenate it together.
2017-07-12 12:54:26 -05:00
paweldomas 2281b1acd2 ref: enable/disable video button
Dynamically enables/disables the toolbar video button. Prior to that
commit if we would start with no video there would be no way to enable
it later on.
2017-07-12 10:29:18 -07:00
yanas 4ccd5c6072 Fix(AddPeopleDialog): Close dialog on submit (#1761)
* Fix(AddPeopleDialog): Fixes error state and close dialog

* (to-squash) Addresses comments
2017-07-12 08:35:00 -07:00
hristoterezov cee523fbf1 fix(desktop_picker): Use defaultProps 2017-07-10 17:43:29 -05: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
virtuacoplenny fcda36a8e0 Merge pull request #1756 from jitsi/remote_control_mm
Remote control
2017-07-10 15:20:55 -07:00
yanas f5d443d194 User Picker Implementation 2017-07-10 09:56:38 -07:00
yanas 47b6166d79 fix(StatelessDialog.web): Fixes stealing Enter events 2017-07-10 09:56:38 -07:00
hristoterezov dc8198100b feat(remotecontrol): Make sure the receiver is always sharing entire screen 2017-07-09 16:34:08 -05:00
hristoterezov 1a9a8a2098 feat(SS): pass the source type to lib-jitsi-meet. 2017-07-07 17:45:24 -05:00
Saúl Ibarra Corretgé 2968f8edf8 [RN] Make the audio muted icon consistent with the web 2017-07-07 12:27:28 -05:00
Lyubo Marinov 5c094bf6e0 [RN] Fix disconnecting before the connection was established 2017-07-07 12:21:08 -05:00
Saúl Ibarra Corretgé c4232b34ae [RN] Fix disconnecting before the connection was established
Keep track of the connection and conference objects so we can leave and / or
disconnect early, before the connection is established or the conference joined.
2017-07-07 09:37:04 -05:00
Saúl Ibarra Corretgé f878f54b4d [RN] Toggle audio-only icon based on state 2017-07-06 17:18:49 -05:00
Saúl Ibarra Corretgé 46a87e42ce [RN] Update audio-only icon
Match the one on the web.
2017-07-06 17:14:00 -05:00
Saúl Ibarra Corretgé db26aa652b [RN] Update jitsi font icon selection 2017-07-06 17:14:00 -05:00
Saúl Ibarra Corretgé 8d1d3a9c42 [RN] Use same video mute indicator icon as on the web 2017-07-06 17:10:32 -05:00
Lyubo Marinov 7dbba59dee [RN] Disconnect/hangup before joining a new URL 2017-07-06 15:00:29 -05:00
Lyubo Marinov 61fd4e4ce4 [RN] Fix passing url prop to Root and App components 2017-07-06 14:59:57 -05:00
Lyubo Marinov 9bd6bbfd95 Fix jsdocs. Simplify the source code 2017-07-06 14:59:57 -05:00
Saúl Ibarra Corretgé cc9249ba1a [RN] Fix passing url prop to Root and App components
React (pun intended) to prop changes, that is, load the new specified URL.

In addition, fix a hidden bug in loading the initial URL from the linking
module: we prefer a prop to the URL the app was launched with, in case somehow
both are specified. We (the Jitsi Meet app) are not going to run into this
corner case, but let's be defensive just in case.
2017-07-06 14:59:57 -05:00
virtuacoplenny 84ae7df8f1 fix(filmstrip-only): vertically align center the toolbar (#1700)
* fix(filmstrip-only): vertically align center the toolbar

Use top 50% to position the toolbar's top at the vertical center
of the iframe. Then use transform 50% to move the toolbar itself
up 50% so its middle matches the middle of the iframe.

* squash: toolbox should center with filmstrip
2017-07-05 21:07:00 -05:00
Lyubo Marinov 9aaf9a484d [RN] Fix TypeError: undefined is not an object (evaluating 'this.options.p2p.useStunTurn') 2017-07-05 16:34:06 -05:00
Saúl Ibarra Corretgé 4e4a9012c2 [RN] Fix iOS lockups / resprings
Apparently iOS doesn't like dangling background tasks very much, so update the
background timers plugin with a version which fixes this.

https://github.com/ocetnik/react-native-background-timer/pull/38

Also accomodate for the API changes upstream.

Credits to @lyubomir for finding the needle in the haystack.
2017-07-05 16:34:06 -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
Saúl Ibarra Corretgé 8a3cec4a9d feat(p2p): enable H.264 for P2P by default
On mobile we got the extra step of overriding the option and always set it to
true.
2017-06-29 11:22:32 +02:00