567 Commits

Author SHA1 Message Date
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
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
4f169988a3 fix(prejoin): Store prejoin tracks in 'features/base/tracks' 2020-06-19 12:02:11 +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
tmoldovan8x8
df64dd8f18
rn: add youtube player for mobile app 2020-06-12 12:15:16 +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
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
Simon Honegger
af39186a5f fix: typeof returns a string, so this condition was always true 2020-05-29 19:53:05 +02:00
Gabriel Imre
444e2b90df callstats: add siteID passing; sanitize confID path 2020-05-28 10:00:45 -05:00
Bettenbuk Zoltan
0598e7369b ref: eslint-config-jitsi@1.0.3 2020-05-20 17:14:29 +02:00
Paweł Domas
f646bc7a7a
ref: disable ICE restart by default (#6594)
* ref: disable ICE restart by default

The reason for that it's currently causing issues with signaling when
Octo is enabled. Also when we do an "ICE restart"(which is not a real
ICE restart), the client maintains the TCC sequence number counter, but
the bridge resets it. The bridge sends media packets with TCC sequence
numbers starting from 0.

The 'enableIceRestart' config option can be used to force it, but it's
not recommended.
2020-05-07 06:59:37 -05:00
Jim Bullington
acbf641fb4
Add participantRoleChanged event to external API (#6573)
* Add participantRoleChanged event to external API

* Update API documentation

* Remove unneeded whitespace

* Remove more unneeded whitespace

* Fix jsdoc formatting

* Fix jsdoc formatting
2020-05-05 09:03:54 -05:00
Vlad Piersec
a45cbf41ef feat(prejoin_page): Add prejoin page 2020-05-04 12:49:35 +02:00
Potecaru Tudor
fd11c36bc3
fix: guard for cases where user hits leave before being connected to the room
Co-authored-by: Tudor-Ovidiu Avram <tudor.potecaru@8x8.com>
2020-04-29 14:52:44 +02:00
Andrei Gavrilescu
6b0e8aab11
bugfix(remote-control): Remote control not working on linux 2020-04-21 10:33:25 +03:00
Hristo Terezov
4fda428be1 fix(largeVideo): update don't depend on thumbnails 2020-04-17 15:33:13 -05:00
Saúl Ibarra Corretgé
cb6fbb0f03 e2ee: add UI elements
* Add dialog to set the E2EE key
* Use the Redux action / middleware to update the key even when set through the
  hash parameter
* Cleanup URL after processing the key so it's not recorded in browser history
2020-04-16 20:25:56 +02:00
Saúl Ibarra Corretgé
eef0f5ed97 Project HPS, first pass 2020-04-10 14:40:58 +02:00
Saúl Ibarra Corretgé
4fd5dc0ee0 analytics: don't enable callstats when disableThirdPartyRequests is set 2020-03-29 08:42:25 +02:00
Andrei Gavrilescu
f502e13edc
feat(screenSharing): Add system audio screen sharing 2020-03-26 14:17:44 +02:00
Saúl Ibarra Corretgé
c990a64ba9 blur: don't persist settings 2020-03-24 11:56:01 +01:00
Jaya Allamsetty
58018a086c fix(blur): Disable blur on conference leave 2020-03-23 20:55:46 -04:00
horymury
4616065b1d
external_api: add ability to send a text message through datachannels 2020-03-20 12:51:26 +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
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
5feaa421a8 fix(tests): bring back APP.conference.listMembers 2020-02-21 11:16:33 +00: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
Jaya Allamsetty
7b25b847ba fix(presenter): resize desktop track to 720p when presenter starts 2020-02-06 13:44:40 -05: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
Mihai Uscat
a18ed3a779 feat(ScreenshotCaptureEffect) Implement. 2020-01-20 10:02:19 -05:00
paweldomas
f6c94fffc4 fix(conference.js): prevent presenter track leak
A duct tape fix for presenter track leak for a case when presenter GUM
is in progress when screensharing is being turned off.
2020-01-13 14:54:33 -06:00
paweldomas
c8939a133d fix(conference.js): crash on undefined this.localPresenterVideo
...if camera device is changed in the settings while screen sharing.
2020-01-13 14:54:33 -06:00
paweldomas
f810483ff6 fix(conference.js): prevent multiple GUM calls on presenter unmute
Chain _mutePresenterVideo async calls in order to prevent calling GUM
multiple times.
2020-01-13 14:54:33 -06:00
theunafraid
c2cf09a2ca Add conference timer (#4958) 2020-01-13 17:12:25 +00:00
Jaya Allamsetty
7b9abd34a0 fix(presenter-mode): notify external API when presenter is unmuted for the first time 2019-12-10 21:34:49 -05:00
Jaya Allamsetty
ed82443ffa clean-up 2019-12-10 15:59:06 -05:00
Jaya Allamsetty
a3cd331369 fix: Workaround on FF for getting the resolution of the desktop track 2019-12-10 15:59:06 -05: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
Jaya Allamsetty
0b25e62c5c fix: Reuse the existing JitsiLocalTrack on presenter unmute 2019-12-05 09:25:34 -05:00
Jaya Allamsetty
bcc1289a23 feat(presenter): Modify the default behavior for presenter mode, it set to off when screensharing is turned on. Also, revert video to the original state when screensharing is turned off. 2019-11-27 11:13:36 -08: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
Дамян Минков
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
Bettenbuk Zoltan
6e10ca5dd2 fix: chat error message 2019-10-09 18:35:09 +02:00
Bettenbuk Zoltan
c1598b7376 feat: make display name prompt platform independent 2019-08-26 22:20:22 +02:00
Leonard Kim
bc403adb46 feat(api): allow for explicit screenshare state toggling 2019-08-26 06:53:28 -07:00
damencho
2ded8363ad Leaves room only when it is already joined.
In case of hitting errors like max participant limit reached and when clicking hangup, the attempt to leave room second time results error and reload screen.
2019-08-13 16:04:43 +03:00
Saúl Ibarra Corretgé
467c9d36cf audio-only,lastn: move audio-only and last N handling to standalone features
This refactors all handling of audio-only and last N to 2 features in preparation
for "low bandwidth mode".

The main motivation to do this is that lastN is a "global" setting so it helps
to have all processing for it in a single place.
2019-08-02 15:54:47 +02:00
Leonard Kim
6d91728a74 fix(proxy): stop screenshare when the connection stops 2019-07-30 06:40:57 -07:00