Commit Graph

2261 Commits

Author SHA1 Message Date
Bettenbuk Zoltan 57d14d9517 feat: help centre 2020-04-02 12:40:12 +02:00
Saúl Ibarra Corretgé c5e693f14a rn,invite: use custom clear button also on iOS
Otherwise it won't be visible if Dark Mode is enabled.
2020-04-02 11:46:29 +02:00
Saúl Ibarra Corretgé a9da047d3a rn,invite: fix bottom padding on AddPeopleDialog on Android 2020-04-02 11:46:29 +02:00
bgrozev 171b065db1
Revert "Add room name to browser tab title" (#5560)
Because it displays "undefined" in the title.

This reverts commit 86ebfe8dad.
2020-04-01 22:03:14 -05:00
Horatiu Muresan 7f1eb83dbd feat(notifications): Manage audio notifications 2020-04-01 22:40:07 +02:00
Saúl Ibarra Corretgé 9cc05ef838 config: remove unneeded option 2020-04-01 20:40:18 +02:00
Saúl Ibarra Corretgé a21e3a1946
Merge pull request #5510 from rubenk/add-roomname-to-title
Add room name to browser tab title
2020-04-01 20:08:05 +02:00
Vlad Piersec c05ca1d9fc fix(prejoin_page) Add labels for video & more UI fixes 2020-04-01 19:57:04 +02:00
Vlad Piersec 1b05d7269c feat(prejoin_page) Add settings buttons
This reverts commit faf24ca7ec.
2020-04-01 19:57:04 +02:00
paweldomas c170970992 feat(Filmstrip): accessibility label for toggle filmstrip button 2020-04-01 08:49:12 -05:00
Saúl Ibarra Corretgé 955b24be9d rn,cc: add feature-flag to disable close captions 2020-04-01 15:29:21 +02:00
Saúl Ibarra Corretgé de6c7e0117 rn,invite: add share button to add people dialog 2020-04-01 15:26:29 +02:00
Bettenbuk Zoltan feb8fe9e34 api: add private message flag to outgoingMessage 2020-04-01 11:58:48 +02:00
Hristo Terezov 3a871cbed8 feat(remote-menu):option for disable mute and kick 2020-03-31 10:06:30 -05:00
Bettenbuk Zoltan a46fd60788 fix: accented room name display 2020-03-31 14:16:21 +02:00
Ruben Kerkhof 86ebfe8dad Add room name to browser tab title
Fixes #5480

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
2020-03-31 13:58:12 +02:00
James Baird 9fdc18d1ec
welcome: hide tabs if nothing to show 2020-03-31 13:06:04 +02:00
Saúl Ibarra Corretgé d3a26f9b4e rn,welcome-page: use random room name generator 2020-03-30 14:40:29 +02:00
Saúl Ibarra Corretgé ed8009883b avatars: ensure no remote avatar is loaded when disableThirdPartyRequests is set 2020-03-29 08:42:25 +02:00
Saúl Ibarra Corretgé 1bbb937d9d analytics: fix enabling analytics when disableThirdPartyRequests is set 2020-03-29 08:42:25 +02:00
Saúl Ibarra Corretgé c1fb276937 config: whitelist disableThirdPartyRequests 2020-03-29 08:42:25 +02:00
Juri 92e81c3dbf
lang: added estonian translation 2020-03-27 22:19:42 +01:00
Saúl Ibarra Corretgé faf24ca7ec
Revert "feat(prejoin_page) Add settings buttons" (#5424)
This reverts commit 08f55ccb94.
2020-03-27 12:17:27 -05:00
Jaya Allamsetty 6fc7456196 fix(blur): Decrease the blur amount and improve the accuracy 2020-03-26 16:49:51 -04:00
Andrei Gavrilescu f502e13edc
feat(screenSharing): Add system audio screen sharing 2020-03-26 14:17:44 +02:00
Vlad Piersec 08f55ccb94 feat(prejoin_page) Add settings buttons 2020-03-25 10:50:47 -05:00
Bettenbuk Zoltan 8cc9b78e21 feat: add column layout to settings fields 2020-03-25 11:59:48 +01:00
Bettenbuk Zoltan 25b4843327 fix: irregular cursor movement in settings 2020-03-25 11:48:06 +01:00
Saúl Ibarra Corretgé cdc14586de invite: remove duplicated code
Add ability to invite users which will use the share sheet or dialog
dynamically.
2020-03-24 14:28:26 +01:00
Saúl Ibarra Corretgé a7f8bf2d8f rn,overflowmenu: reorder 2020-03-24 14:28:26 +01:00
Saúl Ibarra Corretgé 8cd881945a invite: merge InviteButton and InfoDialogButton on mobile 2020-03-24 14:28:26 +01:00
Saúl Ibarra Corretgé 579d08e27e bottom-sheet: tweak UI
- re-add thepand icon, shaped like a pill
- round top corners
2020-03-24 14:28:26 +01:00
Saúl Ibarra Corretgé c990a64ba9 blur: don't persist settings 2020-03-24 11:56:01 +01:00
Zoltan Bettenbuk 8d3b59a0d0
rn: lonely meeting experience 2020-03-20 18:30:46 +01:00
paweldomas 14855f3255 fix(features/notifications): crash on undefined participant 2020-03-20 05:43:44 -05:00
Horatiu Muresan d0bc3da0f5 Disable kick participant button for guests 2020-03-18 15:26:11 +01:00
Jaya Allamsetty e90cc0a615 fix(Amplitude): Blacklist 'peer.conn.status.duration' stats 2020-03-16 15:55:11 -04:00
Mihai Uscat b9cc6b6f96 fix(mute): Replace icon 2020-03-13 14:55:29 +01:00
Tudor-Ovidiu Avram 0289a93e5a feat(close) Add promotional close page 2020-03-12 20:07:23 +01:00
Saúl Ibarra Corretgé b13200ac92 video-layout: fix calculating tile size for recorder
When the reccorder joins, they have a local participant, which is not rendered,
so don't count it towards the partcipant count used for computing the tile
sizes.
2020-03-10 21:04:01 +01:00
paweldomas b9addaed71 ref(log): logs device list and selected devices
Logs the device list when is updated in the reducer and removes
"button enabled" logging which used to dump the device list, but
in a useless way(Object[Object]).

Makes an attempt to log currently selected device, but because of
multiple possible paths it's impossible to find one reliable spot to log
selected device. One has to rely on device list and the GUM call logged
to figure things out.
2020-03-06 16:19:20 +01:00
Gabriel Imre f06fe69167 fix(mute): remove interface config bypass for mute-everyone button 2020-03-05 13:54:58 +01:00
bgrozev 16c09c9645
Upadte ljm (configurable pc stats interval), whitelist config options. (#5106) 2020-03-04 15:11:27 -06:00
Gabriel Imre 24a1a60f04 feat(mute): mute everyone / everyone else 2020-03-04 17:07:12 +01:00
Saúl Ibarra Corretgé d7ece58c6f fix(optimise): cope with URL interface config overrides
Regresssion from bd8a7edbd2.

When the toolbar buttons are overridden with URL parameters, our computed set of
buttons will be wrong. Thus, compute it every time and check for the
differences.
2020-03-04 07:43:52 -06:00
Hristo Terezov eea87be801 fix(electron7):memory leak when the page is hidden
It happens when you are drawing into hidden canvas.
2020-03-03 09:28:23 +00:00
Hristo Terezov 809ac42e4c fix(largeVideo-bg):render canvas only when visible 2020-03-03 09:28:23 +00:00
Hristo Terezov cf27ad0dde fix(stream-presenter-effect): Prevent memory leak.
On electron 7 drawing on hidden canvas will trigger a memory leak.
Not appending the canvas for the DOM seems to solve the problem.
2020-03-03 09:28:23 +00:00
Mihai Uscat 2064fc8937 fix(screenshot-capture): Prevent effect initialization on each toggle 2020-03-02 10:24:02 -05:00
Jaya Allamsetty da68b9882d fix(screenshot-capture): Do not switch streams at the conference level.
This effect doesn't modify the media stream, so its safe to start/stop effect and not apply it on the JitsiLocalTrack. This way we can make sure that this effect is not switched out when presenter effect is applied.
2020-02-25 10:51:44 -05:00
Hristo Terezov bd8a7edbd2
fix(optimise): mapStateToProps for some components (#5085) 2020-02-25 15:09:52 +00:00
Saúl Ibarra Corretgé bde2343951 filmstrip: don't display toolbar for SIP gateways
Note that in the usual (vertical) setup, the "toolbar" is just the hide button.
2020-02-25 15:45:41 +01:00
Saúl Ibarra Corretgé 9b141816d6 filmstrip: hide scrollbar on SIP gateways 2020-02-25 15:45:41 +01:00
Saúl Ibarra Corretgé 6a7594cd9c toolbox: always hide for SIP gateways 2020-02-25 15:45:41 +01:00
Saúl Ibarra Corretgé cdbc5976a0 notifications: hdie all (visual) notifications for SIP gateways 2020-02-25 15:45:41 +01:00
Saúl Ibarra Corretgé 8fd0f56be7 info-dialog: don't show when a SIP gateway joins alone 2020-02-25 15:45:41 +01:00
horymury 202abf2a9a
chrome-banner: add analytics 2020-02-25 13:41:13 +01:00
Saúl Ibarra Corretgé a4333d3a80 rn,overflow-menu: add a "more options" button 2020-02-20 17:23:13 +01:00
Saúl Ibarra Corretgé 02131f3346 full-screen: fix not re-entering full-screen after dialog is shown
This has the side effect of showing the bottom navbar when the toolbox is open,
which is a nice thing since back is accessible.
2020-02-20 16:49:20 +01:00
Jaya Allamsetty 8dbd1ba1b7 fix(presenter): go back to using standard resolutions for presenter 2020-02-19 16:02:42 -05:00
Hristo Terezov bbf1927c70
fix(thumbnail): Optimize status bar moderator icon (#5076)
* fix(thumbnail): Optimize status bar moderator icon

Moved all moderator functionality to react to optimize the number of
status bar updates.

* fix(RemoteVideoMenuTriggerButton): Use nullish coalescing

Co-Authored-By: Saúl Ibarra Corretgé <saghul@jitsi.org>

* ref(StatusBar): rename to StatusIndicators

* fix(RemoteVideoMenu): isModerator value.

* fix(notification): mobile.

Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>
2020-02-18 16:31:04 +00:00
horymury 86130c1478
chrome-banner: log success of retrieving configs 2020-02-18 10:56:09 +01:00
Vincent Hou 3e40bb19cd fixed the encoded tiltle issue in chinese
Checked the code of react.native part, there's no issue by using safeDecodeURIComponent.
So fixed it in same way.
2020-02-12 15:50:55 +01:00
Bettenbuk Zoltan bbca0fc357 allow setting the feedback percentage 2020-02-12 10:59:54 +01:00
Дамян Минков 9bb789472e
Uses correct scopes for google API based on config.js values. (#5066)
* Uses correct scopes for google API based on config.js values.

* Lower the number of parameters that we pass around.

* Fixes googleAPIState state checking.
2020-02-11 15:14:01 +00:00
Hristo Terezov 06fa175a6c fix(large-video): Resize calculations.
Since the verical filmstrip doesn't set its width explicitly anymore,
calculating the available area for the large video based on the
filmstrip width retrieved from the HTML element was wrong
in the cases when the rendering and cleanup of the filmstrip hasn't
finish yet. For example when switching from tile view to stage view.
2020-02-10 20:23:37 +02:00
Hristo Terezov 5940f2890a fix(remote-control): mouse events 2020-02-07 18:57:59 +02:00
Jaya Allamsetty 7b25b847ba fix(presenter): resize desktop track to 720p when presenter starts 2020-02-06 13:44:40 -05:00
paweldomas 01e36e1c56 ref: remove connectivity issues indication for remote participants
It's been considered too disruptive and will often misfire especially
if there are issues with the data channels.
2020-02-06 07:54:09 -06:00
Horatiu Muresan 5d96a226ed Prevent chrome extension banner from spanning the console when disabled 2020-02-06 12:59:36 +00:00
Jaya Allamsetty 9855fac805 fix(screenshot-capture): Move the flag for enabling/disabling the feature to config.js
This will let us enable/disable the feature based on environment/deployment
2020-02-05 16:47:21 -05:00
Andrei Gavrilescu ed5351d250
Add dial-in link to no audio notification (#5026)
* Add dial-in link to no audio notification

* refactor react link component

* fix tests
2020-02-05 18:10:57 +00:00
Hristo Terezov b64260e554 ref(Amplitude): device id syncing 2020-02-05 18:10:38 +00:00
Saúl Ibarra Corretgé 7d67cb583e rn,connection: fix autogenerated BOSH address
When the location URL contains a nonstandard port, it won't be included in
URL.hostname, but it will in URL.host.
2020-02-05 16:05:11 +01:00
Saúl Ibarra Corretgé 8e3c301d03 misc: use longer lines 2020-02-05 15:04:23 +01:00
Saúl Ibarra Corretgé f9071b8b6b rn,recording: fix not displaying Dropbox storage text 2020-02-05 15:04:23 +01:00
Saúl Ibarra Corretgé 01abc4e8a8 lint: fix warning 2020-02-05 15:04:23 +01:00
Jaya Allamsetty c5bddda781 fix(blur): Increase the background blur value 2020-02-04 14:07:17 -05:00
Saúl Ibarra Corretgé 3bfa4744c8 rn,tracks: fix loadEffects
The resolved promise is expected to return an array.
2020-02-04 18:06:11 +01:00
Saúl Ibarra Corretgé bd5901d59c notifications,presence-status: check if interfaceConfig is declared
Protectt ourselves against interfaceConfig being undeclared. typeof
interfaceConfig will return "undefined", but that's different than having some
window.interfaceConfig = undefined, even though the valus is the same. The
former will give a ReferenceError.
2020-02-04 15:51:59 +01:00
Paweł Domas 97e8a6c3f3
Remove UI for local connectivity issues (#5016)
* ref(web): removes video blur when ICE is disconnected.

Removes the blur effect from the large video and stops showing
the network connectivity issues message when ICE disconnects.

The feature has been considered too disruptive and there's a plan to
have it replaced with a more subtle indication.

* remove RECONNECTING key from main.json
2020-02-04 08:25:13 +01:00
Vlad Piersec ab5627212d Add ability to invite contact by phone number 2020-01-30 13:34:06 +00:00
horymury a9767eda72
Fix chrome extension banner (#5011)
* Fix chrome extension banner

* Address reviews
2020-01-29 12:30:17 +00:00
Saúl Ibarra Corretgé c05b4a43e8 rn,tracks: do not load stream effects on mobile 2020-01-28 16:21:11 +01:00
Saúl Ibarra Corretgé 385669cbb8 misc: use default values for parameters 2020-01-28 16:21:11 +01:00
Leonard Kim 5cfae2c419 fix(config): make SHOW_CHROME_EXTENSION_BANNER overridable 2020-01-27 21:26:38 -08:00
damencho 775c531fe7 Enables all recording/livestreaming notifications in sip gw mode. 2020-01-27 16:20:32 +00:00
paweldomas 470c115e7c feat(analytics): add 'websocket' property 2020-01-24 15:21:10 -06:00
paweldomas b25db3ce2e feat(config.js): add 'websocket' config option
Config.js will allow to specify both BOSH and Websocket URLs. In such
case the web app will prefer Websocket over BOSH. The reason is that it
appears to be more stable and a bit fast on web, while on mobile
websocket is dropped fast(killed by the OS) on network changes.
2020-01-24 15:21:10 -06:00
Hristo Terezov 31d9fb12c8
ref(Filmstrip): Optimize resizes. (#4992)
* ref(Filmstrip): Optimize resizes.

* fix(thumbnails): resize.

* fix(thumbnails): Issue with height 0, width 0.

* doc(Filmstrip): Improve JSDoc.
2020-01-24 16:28:47 +00:00
Saúl Ibarra Corretgé ca9ca04d0f rn,tracks: fix accessing value on undefined object 2020-01-24 16:26:32 +01:00
Saúl Ibarra Corretgé 5a027f1585 rn,media: avoid creating presenter tracks
When ensureTrack is set to true a track will be created with the given media
type. 'presenter' is not supported on RN.
2020-01-24 16:14:29 +01:00
Hristo Terezov 1cde7e63c7
feat(Amplitude): Set device id from cookie. (#4997) 2020-01-23 18:36:31 +00:00
Saúl Ibarra Corretgé a53d284bbe lint: fix eslint warning 2020-01-23 15:48:57 +01:00
Andrei Gavrilescu ee525ae569 Whitelist audio detection related configs 2020-01-23 15:15:55 +01:00
horymury 63a411168e Add `Install chrome extension` banner (#4996) 2020-01-23 09:32:52 +00:00
Vlad Piersec ad68a87dba Add config options for presence & join/leave message visibility 2020-01-22 11:08:31 +01:00
Jaya Allamsetty ac0f3979b0 Remove isEdge check from the client 2020-01-21 11:55:52 -05:00
Andrei Gavrilescu d2c2919aef feat: display noise detection notification (#4952)
* feat: display noise detection notification

* address code review p1

* Address code review p2

* bump lib-jitsi-meet version
2020-01-20 18:00:12 +00:00
Mihai Uscat a18ed3a779 feat(ScreenshotCaptureEffect) Implement. 2020-01-20 10:02:19 -05:00
theunafraid c2cf09a2ca Add conference timer (#4958) 2020-01-13 17:12:25 +00:00
Saúl Ibarra Corretgé fddaf7c8a8 android: handle ConnectionService failures more resiliently
Fallback to the non-ConnectionService case for any error. Also, handle errors
when registering the phone account; Pixel C devices throw UnsupportedException.
2020-01-08 16:50:39 +00:00
paweldomas 6c3968a434 ref: remove features/base/conference -> /app cycle
Move call to reloadNow() on CONNECTION_FAILED to
the ./features/app/middleware to avoid importing higher order feature
from the lower level one.
2020-01-07 17:44:39 +00:00
paweldomas e8e70d9d27 ref(base/connection/actions.native): JitsiConnection.connect returns void
Do not return anything from JitsiConnection.connect, because it's not
a promise and returns void. Doing so is confusing to the reader.
2020-01-07 17:44:22 +00:00
Jaya Allamsetty dd99268461 fix(blur): update to bodyPix 2.0 2019-12-19 09:18:39 -05:00
Hristo Terezov 1333fd1975 fix(thumbnails): es6 support & cleanup. 2019-12-16 16:51:59 +00:00
Bettenbuk Zoltan 9b60537e0f feat: add swipe handler to entire bottom sheet 2019-12-12 17:15:11 +01:00
Leonard Kim 68cad276bd fix(lock): ensure lock prompt is closed on password submit
This addresses a bug, in which submitting a password
through the iframe api no longer closes RoomLockPrompt,
by explicitly closing prompts for a lock or password.
2019-12-09 08:44:18 -08:00
Bettenbuk Zoltan e683d70a18 Add support for avatar status badge (presence) 2019-12-09 11:58:23 +01:00
Andrei Gavrilescu 851b1a76a9 Address code review 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu 4890390ea2 fix action uid name / remove imports 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu 7828bf8d46 setNoSrcDataNotificationUid 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu 191da551e3 refactor / address code review 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu 55f35933e8 address code review 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu b125bff7c7 refactor / enable VAD talk while muted 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu c1d261445e Initial commit 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu c494d6c48b feat: show no audio signal notification 2019-12-06 11:37:08 +00:00
Saúl Ibarra Corretgé 4134d47f6e recording: remove beta label from LiveStreamButton 2019-12-05 16:23:27 +01:00
Jaya Allamsetty 0b25e62c5c fix: Reuse the existing JitsiLocalTrack on presenter unmute 2019-12-05 09:25:34 -05:00
Saúl Ibarra Corretgé 36455c24c8 auth: fix rendering error and progress messages
Also removed some no longer used styles.
2019-12-03 14:33:26 +01:00
Saúl Ibarra Corretgé a622a4c713 android: handle ConnectionService failures more resiliently
Some Samsung devices will fail to fully engage ConnectionService if no SIM card
was ever installed on the device. We could check for it, but it would require
the CALL_PHONE permission, which is not something we want to do, so fallback to
not using ConnectionService.
2019-12-03 11:56:04 +01:00
Hristo Terezov 1aaaae24ee feat(Amplitude): enable referrer 2019-11-29 15:43:14 +00:00
Bettenbuk Zoltan 8eb93086bd fix: set an avatar icon size relative to the container 2019-11-29 14:37:35 +01:00
Bettenbuk Zoltan b64294af6d fix: emoji in links 2019-11-29 14:36:42 +01:00
Hristo Terezov bbf33a8895 feat(welcome-page): Add viewed analytics event. 2019-11-28 15:36:12 +00:00
Saúl Ibarra Corretgé 58bd48c1ae android: disable ConnectionService if permissions are not granted
Some devices seem to have a bug in their Android versions and startCall fails
with SecurityError because the CALL_PHONE permissions is not granted. This is
not a requirement for self-managed connection services as per the official
documentation though:
https://developer.android.com/guide/topics/connectivity/telecom/selfManaged

Alas, connection services takes over audio device management too, so let's
handle the error and disable CS if we get SecurityError.
2019-11-27 14:33:25 +01:00
Bettenbuk Zoltan 411bafb5a6 feat: minimized bottom menu 2019-11-26 12:08:43 +01:00
Jaya Allamsetty 0a64bf2068 feat(presenter): add Presenter Mode
- Adds the ability to share video as a "PiP" when screenshare is in progress.
- Add a method for creating a local presenter track.
- Make sure isLocalVideoTrackMuted returns the correct mute state when only screenshare is present.
- Make sure we get the updated window size of the window being shared before painting it on the canvas.
- Make sure we check if the shared window has been resized
2019-11-26 11:57:03 +01:00
theunafraid fb3a832a52 Add shortcut key for toggle tile view (#4882)
* Add shortcut key for toggle tile view

* Toggle tile view shortcut - undo main-enGB.json

* Add analytics

* Use already defined toolbar translations
2019-11-22 16:15:39 +00:00
Saúl Ibarra Corretgé 9c146c1245 subject: hide participant count for 1-1 calls
refs: https://github.com/jitsi/jitsi-meet/issues/4871
2019-11-22 10:49:24 +01:00
Saúl Ibarra Corretgé 792f506425 ios: drop support for iOS 10 2019-11-22 10:46:02 +01:00
Bettenbuk Zoltan 6121e9fc65 feat: improve chat UX 2019-11-21 18:11:58 +01:00
Bettenbuk Zoltan 955fa1f49f fix: undefined is not an object on bitrate 2019-11-21 18:11:58 +01:00
damencho 2544d0a084 Fixes the message for who kicked you. 2019-11-20 17:01:00 +02:00
Bettenbuk Zoltan 8f0a12016a fix: return room lock conference, when there is no other 2019-11-20 13:28:47 +01:00
Bettenbuk Zoltan 8bd0da886e feat: safe decodeURIComponent 2019-11-15 15:18:20 +01:00
Saúl Ibarra Corretgé fe2b1f3d9f rn: refactor aspect ratio and reduced UI detectors 2019-11-15 12:54:44 +01:00
virtuacoplenny 17c1f50fc3 fix(mobile-landing): do not attempt opening download link in new window
Instead let the mobile OS take care of opening the URL
in the appropriate application. Without target _blank,
iOS 13.2.2 on Chrome will open about:blank and immediately
close the tab instead of opening the store.
2019-11-15 09:43:18 +01:00
Boris Grozev 72435dee56 Order fields alphabetically. 2019-11-14 17:49:06 -06:00
Boris Grozev 42f2eff02a Whitelists the "stereo" flag. 2019-11-14 17:49:06 -06:00
Saúl Ibarra Corretgé c2c323347a rn: skip logging potentially sensitive data 2019-11-14 15:01:29 +01:00
Saúl Ibarra Corretgé e543625295 rn,settings: set the placeholder text color 2019-11-13 10:38:05 +01:00
Saúl Ibarra Corretgé 0b25ff649e ios: fix not displaying TextInput values in SettingsView 2019-11-13 10:38:05 +01:00
Bettenbuk Zoltan 53f01a39c9 feat: private message interface config flag 2019-11-12 15:48:53 +01:00
Дамян Минков 50f4796144
Adds an option to set email through iframe API init and to stats. (#4842)
* Adds an option to set email through iframe API init and to stats.

* Simplifies configuring email and displayName in stats.

Removes enableStatsID as not needed as when off we are sending as callstats id xmpp resource which is unique per call and id must be something that sticks between calls (callstatsUsername).

* Adds email and displayName in stats config for mobile.

* chore(deps): Updates lib-jitsi-meet to latest dd31f0a.

* Removes enableStatsID from config and whitelist.
2019-11-12 13:37:54 +00:00
Saúl Ibarra Corretgé 3cd7f0b77d settings: fix loading disableCallIntegration 2019-11-08 12:15:49 +01:00
Bettenbuk Zoltan 3ff658a13b fix: respect safe area in conference on ios 2019-11-07 12:26:54 +01:00
Bettenbuk Zoltan 3a46513d4b ref: remove unused code 2019-11-07 12:26:54 +01:00
Vlad Piersec 9889cb2b69 Add conference name as fallback for subject 2019-11-06 17:23:18 +01:00
Saúl Ibarra Corretgé 191e530071 uri: avoid using String.prototype.normalize
It crashes on Android. Well, on the JSC version React Native uses on Android.

While we could use this fallback only on Android, we have decided to use it
on all mobile platforms for consistency.
2019-11-06 15:37:14 +01:00
Mihai Uscat ae30d39b4d feat(PromotionalFooter): Implement 2019-11-06 03:29:49 -08:00
Hristo Terezov 5da4e43e50 fix(settings): respect configWhitelist 2019-11-05 02:13:54 -08:00
Hristo Terezov eae6f7760f fix(configWhitelist): add startWithAudioMuted. 2019-11-05 02:13:54 -08:00
Mihai Uscat 00161212c8 feat(welcome): Add responsive text to go button 2019-11-04 05:48:55 -08:00
Vlad Piersec c3a6a8fb17 Add participants count 2019-10-31 09:08:59 -07:00
Saúl Ibarra Corretgé 36654cb808 rn: disable H.264 on select devices even when not in P2P
iOS 10 crashes, so don't use it there, in any case.
2019-10-31 16:41:08 +01:00
Saúl Ibarra Corretgé 6d16e087d9 rn: add a new advanced settings section
Currently only 2 options are implemented, mainly aimed at helping troubleshoot
audio related problems:

- Disable native call integration (it disables CallKit / ConnectionService)
- Disable P2P
2019-10-31 16:41:08 +01:00
Saúl Ibarra Corretgé fe90e5aa8f rn,settings: remove top margin 2019-10-31 16:41:08 +01:00
Bettenbuk Zoltan 5429b8568e feat: feature flag for invite functionalities 2019-10-29 11:27:25 +01:00
Bettenbuk Zoltan 9265e1ffec ui: web chat facelift 2019-10-22 13:16:00 +02:00
Bettenbuk Zoltan d11735b04c feat: make the hangup button first 2019-10-21 19:00:12 +02:00
Saúl Ibarra Corretgé d33b700477 rn,blank-page: refactor BlankPage
- Remove network-activity "feature"
    - It wasn't in use
    - It relied on internal React Native components, bound to break anytime
- Show an infinite loading indicator
- Style it just like the LoadConfigOverlay
    - Since it kinda represents the opposite, an "unload" then SDK is done
2019-10-21 11:17:56 +02:00
yanas 220691d61d
Merge pull request #4762 from jitsi/fix-etherpad-follow-me
Fixes showing etherpad in follow-me mode.
2019-10-17 13:44:10 +01:00
damencho 5cafc4bcbd Fixes showing etherpad in follow-me mode. 2019-10-17 13:39:01 +01:00
paweldomas 26dc6a4ac2 update logger and LJM to support log timestamps 2019-10-16 15:59:58 -05:00
Hristo Terezov ff2626723a fix(HelpButton): Improvements. 2019-10-16 13:34:43 -07:00
Mihai Uscat 72bb897269 feat(DownloadOverflowButton): Implement. 2019-10-16 11:30:06 -07:00
damencho f46387a226 Adds room name validation logic for web. 2019-10-16 17:52:24 +01:00
damencho a4cbbccb2a Fixes loading recent lists on wrong meeting name stored.
decodeURIComponent is not needed any more and after adding a validation such meeting name should not happen to be stored.
2019-10-16 17:52:24 +01:00
damencho 3e1a008399 Adds copy icon next to the meeting url in info dialog. 2019-10-16 17:52:24 +01:00
Bettenbuk Zoltan 7e70a8c1de feat: make mobile chat messages selectable 2019-10-16 16:05:10 +02:00
Hristo Terezov 8efee04a10 feat(package.json): Node 12 support. 2019-10-16 06:34:44 -07:00
Bettenbuk Zoltan a35099f949 feat: add chat color scheming 2019-10-16 10:38:28 +02:00
Mihai Uscat 3c25a4c08c Naming conventions; Add variables 2019-10-15 06:54:54 -07:00
Mihai Uscat 5ade0cad8b feat(welcome): add posibility to extend settings toolbar 2019-10-15 06:54:54 -07:00
Saúl Ibarra Corretgé 0fa6ffc439 deps: react-native-google-signin@3.0.1 2019-10-14 19:12:45 +02:00
Hristo Terezov 0a06e256b7 feat(HelpButton): Mobile support. 2019-10-14 07:35:39 -07:00
Hristo Terezov f295f60bea feat(HelpOverflowButton): Implement. 2019-10-14 07:35:39 -07:00
Saúl Ibarra Corretgé 4a8f787519 rn: evaluate config.js in a sandboxed environment
We are downloading code off the Internet and executing it on the user's device,
so run it sandboxed to avoid potential bad actors.

Since it's impossible to eval() safely in JS and React Native doesn't offer
something akin to Node's vm module, here we are rolling our own.

On Android it uses the Duktape JavaScript engine and on iOS the builtin
JavaScriptCore engine. The extra JS engine is *only* used for evaluating the
downloaded code and returning a JSON string which is then passed back to RN.
2019-10-14 12:20:58 +02:00
Saúl Ibarra Corretgé d85b869934 rn: skip loading configured scriptUrls
None of them work on mobile.
2019-10-14 12:20:58 +02:00
Saúl Ibarra Corretgé 35130f0736 rn: refactor loadScript
- use AbortController for setting the fetch timeout
- use async / await syntax for clarify
- set the default timeout to 5s (previously non-existent, aka 0)
- add ability to load but not evaluate a script
2019-10-14 12:20:58 +02:00
Saúl Ibarra Corretgé 1feff9709c config: drop configLocation and getroomnode options
They never worked on mobile and pose an impediment for makinf config.js more
future proof. Specially if we want to move to a non-executable form of
configuration.
2019-10-14 12:20:58 +02:00
Leonard Kim 1010f53a84 fix(config): add whitelisting for interface config
For now all keys are whitelisted.
2019-10-11 09:38:56 -07:00
Saúl Ibarra Corretgé f7a526f488 rn: fix rendering unnecessary stuff when in PiP mode 2019-10-11 17:17:53 +02:00
Bettenbuk Zoltan 245eb89b85 fix BottomSheet shaking 2019-10-11 15:14:51 +02:00
Hristo Terezov 99de9d0bfa fix(remoteVideo): Attaching video stream. 2019-10-11 04:58:01 -07:00
Saúl Ibarra Corretgé 98698ba89a etherpad: refactor to share code with mobile
- simplify initialization procedure
- set user display name as the Etherpad name\
- use SharedDocumentButton
2019-10-10 11:19:38 +02:00
Saúl Ibarra Corretgé 19d1e3829d rn: add shared document support using Etherpad 2019-10-10 11:19:38 +02:00
Saúl Ibarra Corretgé c5cd4f534c dial-in-summary: center the loading indicator 2019-10-10 11:19:38 +02:00
Bettenbuk Zoltan 6e10ca5dd2 fix: chat error message 2019-10-09 18:35:09 +02:00
Bettenbuk Zoltan 42271b1b89 feat: private messages 2019-10-08 18:22:45 +02:00
Bettenbuk Zoltan f270b50972 fix: remove unnecessary escaping 2019-10-08 18:22:45 +02:00
George Politis d210f2f2e7
Adds a noAutoPlayVideo configuration option (used in testing). (#4714)
This adds an option to disable video autoplay that will be used mostly with maleus (our selenium-based load testing tool for testing the new bridge). Disabling video rendering lowers the resource utilisation of the selenium nodes.
2019-10-08 11:34:25 +02:00
Bettenbuk Zoltan 13d78d6b49 fix: utf-8 room name case sensitivity 2019-10-08 10:35:19 +02:00
damencho 34a71042c6 Enables Hungarian translation. 2019-10-05 00:11:25 +01:00
Andrei Gavrilescu 761ac6a730 feat: integrate rnnoise based service for voice activity (VAD) detection 2019-10-04 12:55:18 +02:00
Дамян Минков bb0036fdab
Adds notifications for who stop/start recording/live streaming. (#4708)
* Adds notifications for who stop/start recording/live streaming.

* Updates to latest lib-jitsi-meet.
2019-10-03 20:35:21 +01:00
Saúl Ibarra Corretgé afccf6f06d rn: disable H.264 on iOS 10 devices
It crashes like hell. See:
https://bugs.chromium.org/p/webrtc/issues/detail?id=11002
2019-10-02 14:10:37 +02:00
Bettenbuk Zoltan c472537ecf update RN to 61 2019-09-25 17:31:52 +02:00
Jaya Allamsetty d40fce741a Fix the WebGL memory leak for Blur effect in Chrome 77 and up (#4652) 2019-09-24 06:50:10 -07:00
Leonard Kim 92e7be34e3 fix(icons): scope white svgs to Icon components 2019-09-20 07:50:41 -07:00
Bettenbuk Zoltan f5dba929a5 fix: add support for functional component type icons 2019-09-20 16:35:56 +02:00
Leonard Kim b8aa74f212 fix(large-video): bring back workaround for selecting on conference join
Bring back the workaround introduced in afd2aea7
but removed in 21dcc41d. On conference join,
several other actions have already been fired
that try to set the large video participant
and select the participant on the bridge.
The problem is there is no conference during
these actions so the select participant
never fires. Then subsequent actions do not
fire select participant because the large
video participant has not changed.
2019-09-18 15:00:13 -07:00
Leonard Kim 1b43c22940 fix(chat): update thumbs emoji strings
react-emoji-renderer 1.0.0 removed the
thumbsup and thumbsdown aliases.
2019-09-16 09:55:36 -07:00
Saúl Ibarra Corretgé efddb36164 thumbnail: fix accessing props 2019-09-16 13:27:10 +02:00
Saúl Ibarra Corretgé 385e1c1047 media: fix creating video track when toggling the welcome page switch 2019-09-13 19:07:26 +02:00
Saúl Ibarra Corretgé 3cc181a2e5 rn,config: create a fake config if we cannot load one on the welcome page
We try to load the configuration with every room change, even when there is no
room. There is a bad (corner) case: when we have no config cached (first boot or
wiped app data). In such case the user is trapped in an infinite loop because we
require the config to show the welcome page, oh well.

Pretend we have a configuration by creating the most minimal one to at least get
to the welcome page.
2019-09-13 19:07:26 +02:00
Saúl Ibarra Corretgé bcc1be675f thumbnail: use a functional component
Simplifies the code a bit, and we use no lifecycle methods.
2019-09-13 17:37:23 +02:00
Saúl Ibarra Corretgé d1be5742ba thumbnail: remove dead code
Audio streams are automatically played by WebRTC and this won't change, probably
ever. There is no point in having checks and an Audio component which does
nothing.
2019-09-13 17:37:23 +02:00
Saúl Ibarra Corretgé 1b27e331da thumbnail: use a more explicit prop 2019-09-13 17:37:23 +02:00
Saúl Ibarra Corretgé c1f7bf75c1 thumbnail: don't render dominant speaker indicator on 1-1 calls 2019-09-13 17:37:23 +02:00
Bettenbuk Zoltan 382ec011eb ref: reduce device popup bundle size 2019-09-13 17:25:32 +02:00
Bettenbuk Zoltan 8a3ddd8596 feat: SVG icons 2019-09-13 14:07:53 +02:00
Saúl Ibarra Corretgé 738a199b4c welcome: tame the linter 2019-09-13 12:28:53 +02:00
Maximilian Ruta be5dba7eea welcome: add room validation pattern
Fixes: #312
2019-09-13 11:18:58 +02:00
Saúl Ibarra Corretgé 6c4901a826 ios,callkit: delay updating the muted state until conference starts
In iOS 13 if the call is not unmuted when we report it to the system as started,
an action to unmute it is dispatched automagically. Thanks, Apple.

So, delay synchronizing the muted state until the conference is started (after
the join action). This creates a small window for de-synchronization, but it's
very short and it seems unavoidable.

This change is only applied to operating systems built by the fruit company in
Cupertino.
2019-09-12 12:55:02 +02:00
Saúl Ibarra Corretgé 2aea24ffad dial-in-info: fix bundle bloat
The direct import sidesteps many chained-effect imports, halving the bundle
size.
2019-09-06 16:29:23 +02:00
Saúl Ibarra Corretgé d436825a45 flacworker: don't use the Grand Unified Logger
There are just a couple of logs in this feature, and it's a standalone bundle,
which would bloat it due to cascaded dependencis.
2019-09-06 16:29:23 +02:00
Saúl Ibarra Corretgé 5276cb6bc8 alwaysontop: don't use the Grand Unified Logger
There are just a couple of logs in this feature, and it's a standalone bundle,
which would bloat it due to cascaded dependencis.
2019-09-06 16:29:23 +02:00
Saúl Ibarra Corretgé f863733dd3 base/util: don't use the Grand Unified Logger
There are just a couple of logs in this feature, and it's included in bundles
like external_api, which would bloat it due to cascaded dependencis.
2019-09-06 16:29:23 +02:00
Saúl Ibarra Corretgé 902da8cc4f rn: add native loggers
These provide the ability to integrate the SDK with some other application
loggers.

At the time this was written we use Timber on Android and CocoaLumberjack on iOS.

In addition to the integration capabilities, a LogBridge React Native module
provides log transports for JavaScript code, thus centralizing all logs on the
native loggers.
2019-09-04 10:50:30 +02:00
virtuacoplenny 55ff9dbe80
feat(api): expose method for playing touch tones (#4584) 2019-08-30 14:17:22 -07:00
Hristo Terezov bd99108e8e feat(analytics):Add white/black list functionality 2019-08-30 10:26:22 -07:00
damencho 0c042b4078 Adds config to auto turn on captions when recording is started. 2019-08-30 15:46:29 +01:00
Bettenbuk Zoltan a93bd422d3 feat: new invite layout 2019-08-28 13:57:33 +02:00
Bettenbuk Zoltan c1598b7376 feat: make display name prompt platform independent 2019-08-26 22:20:22 +02:00
Bettenbuk Zoltan 1941275f93 feat: mobile chat emojis 2019-08-26 15:37:58 +02:00
paweldomas 6ae9bbe0c5 feat: report analytics for the network connection
Will emit new 'network.info' action with the online/offline status and
extra details for native like the network type and
'isConnectionExpensive' flag.
2019-08-23 13:36:33 -05:00
Saúl Ibarra Corretgé e0815de2ad rn,welcome: fix accessing local participant
It need not always exist, since it's created asynchronousluy on app
initiualization. Make sure we are ready for it.

I've seen backtraces because of this.
2019-08-23 17:16:22 +02:00
Saúl Ibarra Corretgé 02e058370e logging: disable caller info globally 2019-08-23 17:11:29 +02:00
Leonard Kim af2c61fd96 fix(pinning): dynamically check auto-pin setting
Any overrides set on interfaceConfig are not
applied on module load. As such, call to get
the value of the auto pin setting, providing
time for the bootstrapping to set overrides.
Otherwise iframe api users cannot override
the setting.
2019-08-23 07:36:27 -07:00
Saúl Ibarra Corretgé 5a934c071a logging: use individual, names loggers
React Native doesn't define __filename nor __dirname so do it artisanally. In
addition, this helps with centralizing the configuration passed to loggers.
2019-08-23 10:57:38 +02:00
damencho 84c60a5fdf Removes i18n strings for p2p and turn. 2019-08-22 15:44:13 +01:00
Bettenbuk Zoltan cfc7210ac8 feat: add send message button 2019-08-22 12:03:39 +02:00
Saúl Ibarra Corretgé dd23ed09ad deps: react-native@0.60 2019-08-21 11:12:56 +02:00
Saúl Ibarra Corretgé 64897b9c91 rn,toolbox: simplify logic for showing Toolbox on mobile 2019-08-20 20:04:27 +02:00
Saúl Ibarra Corretgé 0dc8c687f2 rn,filmstrip: ignore the 'visible' parameter on mobile
Mobile uses a different logic for deciding whether to show the filmstrip or not:
if there are more than 1 participants or not, and there is no way to manually
toggle it.
2019-08-20 20:04:27 +02:00
Hristo Terezov 3c1f056d2a fix(dialog): Don't steal focus 2019-08-16 07:40:47 -07:00
Saúl Ibarra Corretgé 6616f728f6 proximity: enable the proximity sensor when the device is set to earpiece 2019-08-14 18:57:03 +02:00
Saúl Ibarra Corretgé 1c1e8a942b audio-mode: refactor device handling
This commit refactors device selection (more heavily on iOS) to make it
consistent across platforms.

Due to its complexity I couldn't break out each step into separate commits,
apologies to the reviewer.

Changes made to device handling:

- speaker is always the default, regardless of the mode
- "Phone" shows as a selectable option, even in video call mode
- "Phone" is not displayed when wired headphones are present
- Shared device picker between iOS and Android
- Runtime device updates while the picker is open
2019-08-14 18:57:03 +02:00
Saúl Ibarra Corretgé 69c21cbb11 avatar: make code a bit clearer
Uses nullish coalescing and optional chaining.
2019-08-14 15:36:40 +02:00
damencho 21fb225726 Adds a retry logic when fetching conference numbers and pin. 2019-08-13 19:00:18 +03:00
damencho 75ab890707 Uses the wrapped fetch from base/util. 2019-08-13 19:00:18 +03:00
Leonard Kim c0a8a386a5 fix(pinning): debounce autopin subscriber
The store's remote tracks get cleared
and re-added when switching in and out
of p2p, which can cause pinning thrashing.
Avoid that with a debounce.
2019-08-12 17:31:53 -07:00
Дамян Минков 8800cb4580
Adds live streaming sound notification. (#4532)
* Adds live streaming sound notification.

* Adds ios resources for the new files.
2019-08-12 18:34:38 +03:00
Karthik Muralidharan b658f20a30 feat(API): add dominant speaker changed event
Fixes: https://github.com/jitsi/jitsi-meet/issues/4049
2019-08-09 10:09:33 +02:00
Hristo Terezov c3e52f32f9 feat: Add logging for thumbnail display mode and tile view. 2019-08-09 01:08:19 -07:00
Saúl Ibarra Corretgé 67dca97d1d rn,participants: don't render thumbnnail for screen-shares 2019-08-07 20:16:13 +02:00
Saúl Ibarra Corretgé 149e53af76 avatar: render a special avatar if the user is sharing their screen 2019-08-07 20:16:13 +02:00
Saúl Ibarra Corretgé f3e7952e51 audio-only: implement initial "low bandwidth mode"
It's an evolution of audio-only mode, where we also allow for receiving a remote
screen-share.

Diving deeper: this basically sets last N to 1 or 0 depending on the
availability of a screen-share.
2019-08-07 20:16:13 +02:00