Commit Graph

4792 Commits

Author SHA1 Message Date
Saúl Ibarra Corretgé 1419247801 [RN] Dynamically adjust LargeView's Avatar to available size
When in PiP mode the LargeView will not be large enough to hold the avatar (for
those interested in the details, our avatar's size is 200, and in PiP mode the
app is resized to about 150).

In order to solve it, this PR refactors how the avatar style is passed along,
reducing it to a single "size" prop. With this only prop, the Avatar compononent
will compute the width, height and borderRadius, plus deal with some Android
shenanigans.

In addition, the LargeView component now uses DimensionsDetector to check its
own size and adjust the size prop passed to the Avatar component as needed.
2018-02-13 09:58:43 -06:00
virtuacoplenny 4fb37c38eb fix(large-video): do not show background for Firefox and temasys (#2316)
* ref(large-video): reactify background

This is pre-requisite work for disabling the background on
certain browsers, namely Firefox. By moving the component
to react, and in general encapsulating background logic,
selectively disabling the background will be easier.

The component was left for LargeVideo to update so it can
continue to coordinate update timing with the actual large
video display. If the background were moved completely into
react and redux with LargeVideo, then background updates would
occur before large video updates causing visual jank.

* fix(large-video): do not show background for Firefox and temasys

Firefox has performance issues with adding filter effects on
animated elements. On temasys, the background videos weren't
really displaying anyway.

* some props refactoring

Instead of passing in classes to LargeVideoBackground, rely on
explicit props. At some point LargeVideo will have to be reactified
and the relationsihp between it and LargeVideoBackground might
change, so for now make use of props to be explicit about
how LargeVideoBackground can be modified.

Also, set the jitsiTrack to display on LargeVideoBackground to
null if the background is not displayed. This was an existing
optimization, although previously done with pausing and playing.

* squash: use newly exposed RTCBrowserType

* squash: rebase and use new lib browser util

* squash: move hiding logic all into LargeVideo

* squash: remove hiding of background on stream change. hopefully doesnt break anything
2018-02-12 16:29:29 -08:00
Leonard Kim f3b5ed2ef4 ref(notifications): convert Thank You message to a notification 2018-02-12 17:53:29 -06:00
Leonard Kim 7341c7bf84 ref(notifications): stop passing around Notifications component
Passing around of the component was used when there were two
independent Notification components. Now that there is only
one Notification component, it is not necessary to pass
around the component.
2018-02-12 17:53:29 -06:00
Leonard Kim 5d31532cbb fix(chat): return formatted body to show smileys 2018-02-12 15:34:21 -07:00
virtuacoplenny 423c8d3f53
Merge pull request #2479 from bgrozev/ga-tweaks
Ga tweaks
2018-02-12 12:35:23 -08:00
Boris Grozev a1ba7beff9 feat: Do not include the callstats name in google analytics. 2018-02-12 14:00:15 -06:00
Boris Grozev 03fc711e81 feat: Makes the google analytics tracking id configurable. 2018-02-12 14:00:04 -06:00
Lyubo Marinov a370a88d19 [RN] Add ability to enable /disable the toolbox (Coding style: comments, consistency) 2018-02-12 11:53:42 -06:00
Saúl Ibarra Corretgé 7153d94dad [RN] Add ability to enable /disable the toolbox 2018-02-12 11:52:54 -06:00
Lyubo Marinov 240fff74c7 [RN] Add ability to enable / disable the filmstrip (Coding style: comments, naming) 2018-02-12 11:52:46 -06:00
Saúl Ibarra Corretgé 7bd8b7948f [RN] Add ability to enable / disable the filmstrip
This is only implemented for mobile at the moment, since web doesn't handle
visibility within the Filmstrip component yet, so this should be added right
then, too.
2018-02-12 10:02:34 -06:00
Дамян Минков a505c01e9e Update uninstall documentation.
The package jitsi-meet-prosody was missing from the list of packages.
2018-02-09 10:28:01 +01:00
damencho 990b1eddf2 Adds strophe.js and plugin-disco as a dependency to fix build problem.
Bumps lib-jitsi-meet to latest. There was a problem that jitsi-meet build fail if anybody touches package.json (including PR testing), this happen after start using custom strophe.js from github:jitsi/strophejs.
The error:
    ERROR in ../strophejs-plugin-disco/lib/strophe.disco.js
    Module not found: Error: Can't resolve 'strophe.js' in '/Users/dminkov/dev/jitsi-meet/node_modules/strophejs-plugin-disco/lib'
     @ ../strophejs-plugin-disco/lib/strophe.disco.js 4:126-147 4:196-227
     @ ./modules/xmpp/xmpp.js
     @ ./JitsiConnection.js
     @ ./JitsiMeetJS.js
     @ ./index.js

Without strophejs-plugin-disco jitsi-meet builds but on runtime loading fail with:
Error: Missing strophe-plugins (disco plugin is required)!

FIXME: We should remove this once strophe.js releases new version and we are back to the official one inside lib-jitsi-meet.
2018-02-08 23:50:45 -06:00
damencho abbfd3de9a Adds strophe.js as a dependency to fix build problem.
Bumps lib-jitsi-meet to latest. There was a problem that jitsi-meet build fail if anybody touches package.json (including PR testing), this happen after start using custom strophe.js from github:jitsi/strophejs.
The error:
    ERROR in ../strophejs-plugin-disco/lib/strophe.disco.js
    Module not found: Error: Can't resolve 'strophe.js' in '/Users/dminkov/dev/jitsi-meet/node_modules/strophejs-plugin-disco/lib'
     @ ../strophejs-plugin-disco/lib/strophe.disco.js 4:126-147 4:196-227
     @ ./modules/xmpp/xmpp.js
     @ ./JitsiConnection.js
     @ ./JitsiMeetJS.js
     @ ./index.js

FIXME: We should remove this once strophe.js releases new version and we are back to the official one inside lib-jitsi-meet.
2018-02-08 22:48:25 -06:00
Saúl Ibarra Corretgé bd301403c4 [RN] Fix app startup from a CallKit intent
Story time.  Currently the app can be started in 4 ways:

- just tapping on the icon
- via a deep link
- via a universal link
- via the phone's recent calls list

The last 3 options will make the app join the specified room upon launch. React
Native's Linking module implements the necessary bits to handle deep or
universal linking, but CallKit is out of its scope.

In order to blend any type of app startup mode, a new LaunchOptions module (iOS
only) exports a getInitialURL function, akin to the one in the Linking module,
but taking CallKit instents into consideration. This function is then used to
make app startup with a URL consistent across all different modes.
2018-02-07 10:12:10 -06:00
bgrozev d481c6f736 chore: Updates lib-jitsi-meet to 5f8c0a662af086e7bcc19c010f1129afc9b6… (#2460)
* chore: Updates lib-jitsi-meet to 5f8c0a662af086e7bcc19c010f1129afc9b6d650

* squash: revert changes to package-lock.json except for the lib-jitsi-meet version change.
2018-02-06 21:21:39 -07:00
Дамян Минков ba94ba30c5 Handles connection failed event details (passing them to analytics). (#2432)
* Handles connection failed event details (passing them to analytics).

* Fixing comments.

* Updates depending versions to be able to test.

* Fixing comments.

* Fixes wrong jsdoc.
2018-02-06 14:54:21 -08:00
Saúl Ibarra Corretgé 5305557ce5 [RN] Add a "reduced UI" mode
It's detected based on a size threshold.
2018-02-06 15:53:52 -06:00
Lyubo Marinov c9d8b5c827 Finally! Let there be... responsive-ui!
We started on the way to responsive UI and its design with aspect ratio
and keeping the filmstrip on the short side of the app's visible
rectangle.

Shortly, we're going to introduce reduced UI for Picture-in-Picture. And
that's where we'll need another dimensions-based detector akin to the
aspect ratio detector.

While the AspectRatioDetector, the up-and-coming ReducedUIDetector, and
their base DimensionsDetector are definitely separate abstractions and
implementations not mixed for the purposes of easy extensibility and
maintenance, the three of them are our building blocks on top of which
we'll build our responsive UI.
2018-02-06 15:53:27 -06:00
Saúl Ibarra Corretgé 0ad1c88cd2 [RN] Refactor AspectRatioDetector
Factor out the dimensions detection login into a DimensionsDetector component.
2018-02-06 11:21:12 -06:00
Saúl Ibarra Corretgé 78fbfba573 [iOS] Fix initial CallKit muted state
Turns out this was a bit more involved than I originally thought due to an
interesting (corner) case: IFF the user was never asked about microphone
permissions and the call starts with audio muted, unmuting from the CallKit
interface won't work (iOS won't show the prompt, it fails immediately) and we
need to sync the mute state back.
2018-02-06 10:24:06 -06:00
Saúl Ibarra Corretgé 9e53d40b9c [RN] Honor filmstrip visibility state 2018-02-05 15:55:05 -06:00
Lyubo Marinov aa314c10ac Coding style: consistent naming, one name per abstraction
Instead of having visible and visibility and setToolboxVisible and
setFilmstripVisibility, have only visible as a name.
2018-02-05 15:55:04 -06:00
Lyubo Marinov 62c9762793 [RN] Protect AbstractApp and localStorage initialization 2018-02-05 15:26:01 -06:00
Lyubo Marinov d7dddb2509 Introduce base/storage to represent the Web Storage API and persistence-related customizations 2018-02-02 15:13:26 -06:00
Lyubo Marinov 83243d5980 [RN] Fix legacy recent-list storage 2018-02-02 15:13:26 -06:00
Zoltan Bettenbuk 6e05cab46e [RN] Fix legacy recent-list storage 2018-02-02 15:13:26 -06:00
Lyubo Marinov 7954d5fd39 Coding style 2018-02-02 15:13:26 -06:00
zbettenbuk 158cadf4f9 Improve persistency layer 2018-02-02 15:13:26 -06:00
Lyubo Marinov f35578c803 [RN] Polyfill __filename ASAP 2018-02-02 15:13:26 -06:00
Saúl Ibarra Corretgé c087e90099 [RN] Fix setReceivedVideoQuality if we are not yet in a conference
It may happen that such action is fired while joining.
2018-02-02 14:33:49 -06:00
Saúl Ibarra Corretgé da0ae73d10 [RN] Fix pinParticipant if we are not yet in a conference
It may happen that such action is fired while joining.
2018-02-02 14:32:15 -06:00
Saúl Ibarra Corretgé b4d44f367d [RN] aspect-ratio: preserve mode when width === height
If the view gets resized to a 1:1 aspect ratio, remember the previous mode to
avoid flickering when going back to a larger size or different aspect ratio.
2018-02-02 14:19:08 -06:00
hristoterezov 083f6b400b chore(capabilities.json): deploy 2018-02-01 17:21:52 -06:00
Saúl Ibarra Corretgé dd5ae49217
Merge pull request #2407 from zbettenbuk/new-welcome-screen
Add URL validation and larger distance behind the back button
2018-01-31 16:26:09 +01:00
zbettenbuk 6a9e6db3be [RN] Validate the URL in app-settings 2018-01-31 16:06:24 +01:00
virtuacoplenny c4468cb7b8 chore(deps): update lib-jitsi-meet for connection quality logging (#2436) 2018-01-30 14:52:25 -08:00
Leonard Kim 80c4205fb8 chore(deps): update lib-jitsi-meet for ie11 browser caps fix 2018-01-29 16:16:21 -06:00
zbettenbuk aa9efd6f69 [RN] Improve app-settings back button style 2018-01-29 10:58:46 +01:00
Piérre Reimertz 6f8f64ba48 [iOS] Fix crash if the app display name is not set
Fixes: #2377 #2267 #2158
2018-01-29 10:34:01 +01:00
Leonard Kim 1c3cef1eed fix(notifications): reduce duration of initially muted notification
The current notification for starting muted is 2 minutes, which
may seem like "forever" so reduce it to dismiss faster.
2018-01-28 18:48:56 -06:00
Leonard Kim 2720c76e4d fix(password): do not let guests edit password when roles are enabled
If config.enableUserRolesBasedOnToken is true, only let moderators
and non-guests modify the password. Otherwise, only let moderators
edit the password.
2018-01-28 18:48:24 -06:00
virtuacoplenny 4ab34589c8
Merge pull request #2431 from jitsi/recommended_browsers_link
fix(recommended-browsers): Fix link
2018-01-28 13:41:54 -08:00
hristoterezov ed36132e94 fix(recommended-browsers): Fix link 2018-01-28 11:51:08 -06:00
virtuacoplenny f43687944c
Merge pull request #2429 from jitsi/fix_chromium
chore(lib-jitsi-meet): Update the version.
2018-01-27 11:45:46 -08:00
hristoterezov dda0ea0ba9 chore(lib-jitsi-meet): Update the version. 2018-01-27 13:02:46 -06:00
Lyubo Marinov e1f967869a [RN] Add builtin translations 2018-01-26 12:18:43 -06:00
Saúl Ibarra Corretgé 8673083829 [RN] Add builtin translations
Load all of them as imports, so the packager includes them in the bundle. Then
register them with the i18next library.
2018-01-26 16:27:33 +01:00
Lyubo Marinov b52e584327 "feat(TPC): append TPC ID to stream IDs" & "fix(RTC): protect from counter overflow" 2018-01-25 11:21:40 -06:00