Commit Graph

1199 Commits

Author SHA1 Message Date
Saúl Ibarra Corretgé a3fb996ff0 fix(avatars) refactor preloading
Use fetch(), which gives us better control over headers.
2020-10-14 21:58:28 +02:00
Saúl Ibarra Corretgé 44d7828e9c rn,overflow-menu: improve drag icon 2020-10-08 10:17:53 +02:00
Saúl Ibarra Corretgé 63fe1de789 rn,recent-list: replace swipe options with long-press sheet
This change serves 2 purposes:

- (Hopefully) make the recent list entry options easier to discover
- Remove the (now unmaintained) swipeout dependency
2020-10-08 10:17:53 +02:00
Anand Parshuramka f01869c21c Adding the flags to enable/disable Kick out option in RemoteVideoMenu 2020-10-07 10:54:13 -05:00
Saúl Ibarra Corretgé 1d9daa8da7 fix(config) drop useStunTurn
Always attempt to discover the configured STUN/TURN servers.
2020-10-07 16:31:47 +02:00
Tudor-Ovidiu Avram 478f1a731e feat(prejoin) improve ux 2020-10-07 14:53:49 +02:00
George Politis b5310573fc
feat: Adds more debug information in the GSM bars popover (#7627) 2020-10-02 15:20:24 +02:00
Saúl Ibarra Corretgé c261682a29 fix(rn,config) increase config load timeout to 10 seconds 2020-09-30 10:08:52 +02:00
Hristo Terezov dc6d3daef7 feat(external-local-storage): support 2020-09-29 17:58:17 -05:00
Jaya Allamsetty 25271d7eec fix(presenter): Do not change the video mute state on presenter mute.
This fixes the issue where the local preview appears muted when presenter camera is turned on and then off while screenshare is in progress.
2020-09-29 08:35:42 -04:00
Saúl Ibarra Corretgé 11ae187ece fix(chat) prevent homograph attacks
Decode URLs using punycode when rendering, so when http://ebаy.com is sent
we render http://xn--eby-7cd.com/ instead.

Ref: https://github.com/tasti/react-linkify/issues/84
2020-09-25 12:46:29 +02:00
Saúl Ibarra Corretgé 188771751d
fix(config) remove unused options (#7723)
* fix(config) remove unused options

* Update configWhitelist.js
2020-09-18 08:55:09 -05:00
Vlad Piersec d2ec0ea6f3 fix(branding): Fix dynamic logo display
* Display of the logo has been reworked (simplified).
* The logo will not be displayed if the call to `branding` endpoint fails.
* Add more docs.
2020-09-18 16:38:44 +03:00
Tudor-Ovidiu Avram e2731ce73e feat(loggin) forward logs to external api 2020-09-15 09:44:50 +02:00
Hristo Terezov fc75d45c6c feat(video-quality): add iframe event and getter. 2020-09-09 18:04:17 -05:00
Hristo Terezov b02d96231c ref(video-quality): Move all related code. 2020-09-09 18:04:17 -05:00
Saúl Ibarra Corretgé 4807badac8 rn,thumbnail: introduce screen-sharing indicator 2020-09-09 18:59:12 +02:00
damencho b087b22d4f feat: Whitelist option to hide lobby button. 2020-09-02 11:49:15 -05:00
Boris Grozev ac17db9df5 Update lib-jitsi-meet and add the RED option to config.js. 2020-09-01 11:49:23 -05:00
RabeeAbuBaker 79c1358f4b
FEAT: Automatically copy invite URL after creating a room (#7581)
* Resolves #7501
- Automatically copy invite URL after creating a room

* Resolves #7501
- Automatically copy invite URL after creating a room

* - Adding config flag to enable the feature
2020-08-30 09:36:52 -05:00
Vlad Piersec 71d0577a49 feat(vpaas): Add endpoint counter & remove branding on vpaas meetings 2020-08-27 14:49:03 -05:00
Hristo Terezov b7529863d5 fix(iframe-api): setDevice. 2020-08-25 18:37:03 -05:00
Hristo Terezov 4ded94d130 fix(settings): store url display name and email. 2020-08-25 18:37:03 -05:00
Vlad Piersec 4f52a29120 fix(prejoin): Make avatar resizable 2020-08-21 14:10:24 -05:00
Tudor-Ovidiu Avram 8a4fb72eae feat(branding) allow invite links to be branded 2020-08-21 11:00:12 -05:00
paweldomas 6453ceb048 ref: remove jest and lastn functions.test.js
It doesn't play well with webpack and it's babel config
and I couldn't find a way to make it work.
2020-08-21 07:38:21 -07:00
Hristo Terezov 2c2edace2a
Merge pull request #7475 from vp8x8/prejoin-focus
fix(prejoin): Auto focus display name input
2020-08-20 15:28:04 -05:00
paweldomas d3d5847605 feat: configurable quality levels for video height
Allows to adjust thresholds which control the video quality level
in the thumbnail view.

Changes the default behaviour to request the SD (360p) resolution only
when the thumbnails are at least 360 pixels tall and the height of
720 is required for the high quality level.

The thresholds can be configured with the 'videoQuality.minHeightForQualityLvl'
config property. Check the description in the config.js for more details.
2020-08-20 11:07:36 -07:00
Vlad Piersec 1e76b8b6ea misc: Add test ids for prejoin buttons 2020-08-20 11:20:49 -05:00
Hristo Terezov 55175e2e95 fix(subject): set to ' ' after settings change. 2020-08-20 10:48:06 -05:00
Vlad Piersec 453c07cb17 feat(prejoin): Add precall connection quality indicator
* Adds a dropdown indicator which displays the status of the internet connection.
* It uses the same data as `https://network.callstats.io`.
* The algorithm for the strings displayed to the user is also the one used on `network.callstas.io`.
2020-08-20 08:25:15 -07:00
Vlad Piersec d82bb0a89b fix(prejoin): Fix join without audio 2020-08-17 08:31:55 -05:00
damencho cdd782a82f fix: Fixes uncaught exception on malformed jwt.
Does not skip passing jwt even when malformed to allow getting the error, terminating the connection and showing the warning. We were not passing jwt when malformed and were successfully joining a conference for deployments where no token is allowed.
2020-08-13 11:00:04 -05:00
Hristo Terezov 8e9a51f742 feat(Watermarks): Add deafault logo prop. 2020-08-11 18:24:44 -05:00
Vlad Piersec b670b29d7f
fix(prejoin): Auto focus display name input 2020-08-07 10:27:29 +03:00
paweldomas 4adaa6f1fd fix(last-n-limits): crash on undefined 2020-08-06 09:02:21 +02:00
Paweł Domas b3b561f27a
feat(video quality): add maxFullResolutionParticipants (#7403)
Add a config option with the default value of 2, which will cap the max recv video quality to SD if there's more than 2 participants in the conference while in the tile view mode.
2020-08-05 10:10:14 -05:00
Paweł Domas cc9cb6a874
feat(config): add last N limit mapping (#7422)
Adds 'lastNLimits' config value which allows to define last N value per number of participants.
See config.js for more details.
2020-08-03 12:39:17 -05:00
Saúl Ibarra Corretgé a67d0fbf6c chore: remove some cycles 2020-07-29 09:31:38 +02:00
Bettenbuk Zoltan 240b033e76 feat: auto tile view 2020-07-24 11:06:34 +02:00
damencho b106e51a10 feat: Adds id to the notifications and buttons so we can check for them in the integration tests. 2020-07-23 14:49:52 -05:00
Saúl Ibarra Corretgé fdbd681c8f config: fix opusMaxAverageBitrate option name
Must match the lib-jitsi-meet counterpart.

Fixes: https://github.com/jitsi/jitsi-meet/issues/7384
2020-07-23 15:14:48 +02:00
Tudor-Ovidiu Avram b1e12d33ab feat(embed) implement embed meeting feature 2020-07-23 13:21:05 +02:00
Tudor-Ovidiu Avram 0fc748dc44 ui: create reusable copy button 2020-07-22 15:53:43 +02:00
Saúl Ibarra Corretgé b831bb8350 config: add roomPasswordNumberOfDigits to whitelist 2020-07-22 15:23:38 +02:00
Michael Telatynski 335b43036d Improve accessibility of Buttons in Webapp
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 16:32:33 +02:00
paweldomas ad948bdbe2 feat(StateListenerRegistry): add 'deepEquals' option
Adds an extra 'options' argument to the register method which
allows to use deep equality instead of a shallow one when comparing
the current and the previous selections.
2020-07-16 10:14:59 -05:00
Gabriel Imre 29366a0029 feat: add test hint for grant moderator availability 2020-07-16 13:54:03 +02:00
Vlad Piersec ef0af1a8c0 fix(prejoin): Show decoded version of meeting uri 2020-07-15 13:21:36 +02:00
Gabriel Imre b85cd2348f
feat: add grant moderator functionality 2020-07-15 12:13:28 +02:00
Vlad Piersec 035f720a50 feat(prejoin): Add 'skip prejoin' button 2020-07-15 11:36:37 +02:00
utkarshmarwaha 7f5751b918
rn,flags: add flag to show/hide video share button 2020-07-15 10:48:56 +02:00
vp8x8 1891ce0b24
fix(prejoin): Align avatar image on small screens (#7300)
Fixes: #7296
2020-07-15 10:43:00 +02:00
NicolasD 41ba55a6a9
rn,flags: add feature flag to enable / disable conference timer 2020-07-15 10:22:35 +02:00
plokta b0188a7184
config: Add option to set preferred audio bitrate. (#7072)
The maxaveragebitrate parameter to be used by Opus can be configured
through the new opusMaxAvgBitrate config option. Values are restricted
by Opus to integers between 6000 to 510000. Works for non-p2p only.

move option to Audio section, add documentation

Co-authored-by: plokta <dev@plokta.eu>
2020-07-11 10:33:49 +02:00
Tudor-Ovidiu Avram 0e5091adba feat(prejoin) Expose prejoin app 2020-07-10 14:24:06 +02:00
Saúl Ibarra Corretgé b91d6b97a9 deps: jitsi/js-utils@1.0.0 2020-07-10 10:38:49 +02:00
Saúl Ibarra Corretgé ce812591f9 conference: fix not applying max recv constraints
They also need to be applied when changing conferences.
2020-07-09 08:40:56 +02:00
Saúl Ibarra Corretgé 7d513738d2 rn,flags: add ability to override resolution using a flag
Also, use the configured resolution to set it as the max received frame size.
2020-07-09 08:40:56 +02:00
Tudor-Ovidiu Avram d5832f226d fix(dialout) whitelist dialout flag 2020-07-07 11:00:49 +02:00
Vlad Piersec a5f17a8033 feat(prejoin): Show avatar image on prejoin screen 2020-07-03 11:41:19 +03:00
paweldomas 1ff27b7298 fix: store.getState() called while the reducer is executing 2020-07-01 19:31:48 -05:00
paweldomas bc43f00d28 feat: pass network info to LJM 2020-07-01 19:31:48 -05:00
Vlad Piersec 2b5787163e fix(prejoin): Replace the stored audio/video tracks when device list changes
When on prejoin screen, if the device list changes (devices are added or removed),
the newly created tracks do not properly replace the old ones, resulting in
errors after joining the meeting and trying to change the devices.
This change fixes the problem.
2020-06-29 12:26:55 +02:00
Roman 4b1743bb2f
android: add serverURL configuration for MDM/EMM environments
Android for Enterprise provides special feature for applications to obtain configuration through RestrictionManager remotely by some MDM solution.

Jitsi Meet can be remotely installed and provisioned with a proper URL (making URL not editable by the user) inside the Work Profile or Fully managed device.
2020-06-26 11:47:48 +02:00
Vlad Piersec 87b14c3711 fix(prejoin): copy meeting info 2020-06-26 11:28:49 +02:00
paweldomas 811ee40d99 ref(constants): use 720 for the high quality level
720 is requested by default for the local video stream
and when using the quality slider the resolution would
be increased to 1080.

Note that this will limit the receive quality to 720 as well,
because both send and receive constraints are changed at
the same time when the quality slider is used.
2020-06-23 14:50:00 +02:00
Vlad Piersec 047c9b43ea fix: welcome page logo not being displayed 2020-06-23 10:29:41 +02:00
Jaya Allamsetty 07cad2a98f cleanup: Remove obsolete code related to SS extension
- Remove external install dialogs and fix related screensharing error handling.
- Remove obsolete options from config.js and from configWhitelist.js
2020-06-20 08:49:19 -04:00
Vlad Piersec 0aa54d8650 (prejoin): fix mobile 2020-06-19 16:46:43 +02:00
Bettenbuk Zoltan 74e0e10928 feat: new security icon 2020-06-19 12:25:24 +02:00
Vlad Piersec 4f169988a3 fix(prejoin): Store prejoin tracks in 'features/base/tracks' 2020-06-19 12:02:11 +02:00
Joey Marshment-Howell ec6ed6e8ec
config: whitelist option to hide chrome extension banner
saghul: torture tests also need it.
2020-06-19 09:15:10 +02:00
Saúl Ibarra Corretgé f230fd4d04 subject: avoid sending an extra empty subject update
When setSubject is called too early we store it as pensing, but thanks to the
default parameter value, if undefined is passed to the function we'll store the
empty string.

This will trigger a needless update because undefined !== ''.
2020-06-18 14:52:17 +02:00
Saúl Ibarra Corretgé eed57e7999 subject: only try to update the subject when the rol;e changes
Skip processing any other participant updates.
2020-06-18 14:52:17 +02:00
Vlad Piersec 8115f86f59 fix(prejoin): Fix CSS for prejoin page according to design 2020-06-18 14:43:37 +02:00
Saúl Ibarra Corretgé a49f04f25b config: document enableInsecureRoomNameWarning and whitelist it 2020-06-17 20:35:57 +02:00
Bettenbuk Zoltan bcffe0bba5 fix: lobby screen broken with prejoin disabled 2020-06-17 09:01:55 -05:00
bgrozev 5867eaf560
config: remove obsolete options 2020-06-17 08:39:31 +02:00
Boris Grozev 0c09ded76b feat: Add and whitelist the useTurnUdp config option. 2020-06-16 16:59:21 -05:00
damencho 929622b27c fix: Fixes setting subject from url.
There are occasions when role to moderator can change a little bit after joining the room, and initial try to set subject will silently be ignored if not moderator.
2020-06-16 12:44:44 -05:00
Saúl Ibarra Corretgé e5cffc71c4 config: cleanup no longer used interface_config options 2020-06-16 14:59:04 +02:00
Adam Wan e3d66db3d7
config: add ability to hide the "invite more" header button 2020-06-16 13:07:37 +02:00
Saúl Ibarra Corretgé 6e679f952f redux: refactor loading of middlewares and reducers
Up until now we relied on implicit loading of middlewares and reducers, through
having imports in each feature's index.js.

This leads to many complex import cycles which result in (sometimes) hard to fix
bugs in addition to (often) breaking mobile because a web-only feature gets
imported on mobile too, thanks to the implicit loading.

This PR changes that to make the process explicit. Both middlewares and reducers
are imported in a single place, the app entrypoint. They have been divided into
3 categories: any, web and native, which represent each of the platforms
  respectively.

Ideally no feature should have an index.js exporting actions, action types and
components, but that's a larger ordeal, so this is just the first step in
getting there. In order to both set example and avoid large cycles the app
feature has been refactored to not have an idex.js itself.
2020-06-16 11:24:15 +02:00
Saúl Ibarra Corretgé 80d7e5fb7f redux: move PersistenceRegistry to the redux feature 2020-06-16 11:24:15 +02:00
Emil Ivov 6aed9bc0c8
interface_config: enforce logo by default 2020-06-12 17:38:51 +02:00
Jaya Allamsetty b7b861259b fix(UI): add playsinline attr for video element
> playinline attr needs to be set to true to stop local video from playing in full screen mode in Safari on iOS.
> This applies to the local video thumbnails and the camera previews from the device selection menu and video preview button
2020-06-12 09:30:46 -04:00
tmoldovan8x8 df64dd8f18
rn: add youtube player for mobile app 2020-06-12 12:15:16 +02:00
Vlad Piersec 8758c222c6 feat(branding): Add ability to customize logo & background 2020-06-10 14:58:27 +02:00
Bettenbuk Zoltan 29dc63fbcb ref: merge prejoin with lobby 2020-06-09 18:10:43 +02:00
Bettenbuk Zoltan 475a2ae596 feat: lobby feature
The lobby feature adds the possibility to lock a meeting and only allow people in after virtually knocking and going through formal approval
2020-06-09 18:10:43 +02:00
Jaya Allamsetty 45570bc0e7 fix(device-selection): Update redux when a new speaker is selected
Update userSelectedAudioOutputDeviceId and userSelectedAudioOutputDeviceLabel when a new speaker is selected from the audio settings popup menu
2020-06-08 15:34:05 -04:00
Jaya Allamsetty f4bcad02d8 fix(device-selection): Add a workaround for a chrome bug with default mic
Pass the real deviceId to gUM instead of 'default' for Chrome to return the correct media stream
2020-06-08 15:34:05 -04:00
Дамян Минков e6dbe65193
Moderated rooms or subdomains (#6959)
* fix: Fixes using token with no user context.

* feat(moderated): Adds option to add moderated rooms and subdomains.

When a user joins such room or subdomain in order to be a moderator needs to provide a valid jwt token for that room.

* squash: Renames function.

* ref: Removes filtering jicofo setting owners.

This will be disabled on jicofo side and will greatly simplify logic.
Also check the checks to avoid jwt for main domain to access subdomains and the other way around.

* fix: Skips allowners logic for admins.
2020-06-05 07:57:49 -05:00
Deepak Verma ff23f81dfe
flags: fix comment 2020-06-05 13:53:35 +02:00
Saúl Ibarra Corretgé d740752522 rn,responsive-ui: refactor dimensions detection
Use a dimensions detecting root component. The Dimensions module does not
measure the app's view size, but the Window, which may not be the same, for
example on iOS when PiP is used.

Also refactor the aspect ratio wrap component since it can be taken directly
from the store.

Last, remove the use of DimensionsDetector on LargeVideo and TileView since they
occupy the full-screen anyway.

Fixes PiP mode on iOS.
2020-06-02 16:54:28 +02:00
Saúl Ibarra Corretgé 3a88f4939c misc: break import cycle 2020-05-29 10:37:09 +02:00
Gabriel Imre 444e2b90df callstats: add siteID passing; sanitize confID path 2020-05-28 10:00:45 -05:00
marius-bardan 21fe3c87a6
lang: enable support for romanian lang (#6869)
Co-authored-by: Marius Bardan <marius.bardan@8x8.com>
2020-05-26 15:05:41 +02:00
Suguru Hirahara 0ea7a31b08
lang: add Arabic translation 2020-05-25 14:05:46 +02:00