Commit Graph

1936 Commits

Author SHA1 Message Date
Andrei Gavrilescu 6d3d65da03
feat(screenshare): Audio only screenshare (#8922)
* audio only screen share implementation

* clean up

* handle stop screen share from chrome window

* update icon
2021-04-12 10:37:39 +03:00
Calinteodor bf3726cb93
feat(rn,security) add security dialog 2021-04-09 14:30:25 +02:00
Mihai-Andrei Uscat a78ca5fcad
feat(external_api): Add command for toggling localFlipX 2021-03-25 14:57:41 +02:00
Mihai-Andrei Uscat 1ad40de487
feat(external_api): Add command for toggling camera on mobile web 2021-03-25 13:48:49 +02:00
Calinteodor e035d33fa9
feat(authentication) refactor auth dialogs to use React 2021-03-24 15:09:40 +01:00
Izak Glasenčnik 05f3b4390d
feat(iFrame): Emit event when recording status changes, including errors (#7973)
* feat(iFrame): Emit event when recording status changes, including errors

* Fix APP access on mobile
2021-03-23 11:35:46 -05:00
hmuresan f7c0d4f1fe feat(background alpha) Set background transparency 2021-03-23 16:16:56 +02:00
hmuresan 07f16a7a51 feat (external-api) Add command for setting tile view mode 2021-03-23 15:21:57 +02:00
BenjaminVega 6175a5cad5
Be able to toggle the raise-hand via external-api (#8838)
* Be able to toggle the raise-hand via external_api

* Code Review inputs
2021-03-22 11:22:45 -05:00
Hristo Terezov f50872285d ref(Filmstrip): Use Thumbnail component. 2021-03-18 09:37:55 -05:00
luz paz 817d54b0b9 fix(misc) typos
Found via `codespell -q 3 -S ./lang`
2021-03-16 16:12:12 +01:00
Jaya Allamsetty 2784c43a1b fix(UI): Add playsinline attribute for remote video.
For the video to play on Safari mobile browser, the playsInline attribute needs to be set to true. Set the mute attribute as well which was accidentally removed in code refactor.
2021-03-10 18:05:41 -05:00
Hristo Terezov f5a34183e9 fix(useVideoStream): error handling & add logs. 2021-03-10 17:02:29 -06:00
hmuresan ab6790bdaa (external_api) Add command for overwriting config values. 2021-03-10 18:30:14 +02:00
Jaya Allamsetty 0ee03f1538 feat(browser-support): Add support for WKWebview based browsers. 2021-03-08 11:16:02 -05:00
Calinteodor 430591bd1e
feat(shared-video) refactor dialog to use React
Also unify the mobile and web features into one, even though internally they still have separate ways to enable the functionality.
2021-03-03 15:37:38 +01:00
Hristo Terezov b1a3c5cd7b feat(external_api): allow clipboard-write 2021-02-26 15:05:45 -06:00
Steffen Kolmer 23bb824731
feat: Added mute video moderation feature (#8630)
* Added mute video feature

* Fixed export

* Fixed some issues

* Added remote video mute notification

* Fixed import

* Fixed conference event handling

* Fixed some linting issues

* Fixed more linter errors

* turn screenshare off on remote video mute

* Fix linter issue

* translations added for mute video feature

* Added video mute button to interface config

* Updated lib-jitsi-meet

* Fix copy paste error

Co-authored-by: nurjinn jafar <nurjin.jafar@nordeck.net>
2021-02-24 15:45:07 -06:00
tmoldovan8x8 65c56669c4
feat refactors the chat flow so it has open and close functions 2021-02-12 13:18:16 +02:00
hmuresan 1a789130a3 feat (external_api) add command for kick participant 2021-02-11 07:33:26 -06:00
niteshletxsoft bca9a12df1
feat(external_ap) add api call to get live stream url 2021-02-09 12:43:38 +01:00
Shoolpani Dubey a57b967f2e
fix(external_api) add autoplay capabilities to created iframe
Should fix https://github.com/jitsi/jitsi-meet/issues/7037
2021-02-09 11:22:42 +01:00
Tudor-Ovidiu Avram dcaad41e69 feat(external_api) add event for chat updates (unread counter, open state) 2021-01-28 11:41:27 +02:00
Steffen Kolmer ef7d425859 feat(ui) update AtlasKit components 2021-01-26 16:47:55 +01:00
hmuresan 1196ede961 feat(external-api) set `privateMessage` flag on `incoming-message` 2021-01-13 13:33:55 +01:00
Hristo Terezov fdb8f76b90 fix(Thumbnail): imports. 2021-01-12 13:42:31 -06:00
Hristo Terezov e161cbc4bd fix(SmallVideo): computeDisplayModeInput
Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
2021-01-12 13:42:31 -06:00
Hristo Terezov 51e381a0b1 ref(Thumbnail): Create React component. 2021-01-12 13:42:31 -06:00
Avram Tudor 7f1894dd57
Merge pull request #8379 from horymury/hmuresan/broadcast-screenshare
feat(external_api) add command and event listener for CS
2021-01-12 17:49:06 +02:00
hmuresan 4dda508708 feat(external_api) add command and event listener for CS 2021-01-12 17:23:40 +02:00
hmuresan 0a5910f0b3 feat(external_api) set and cancel private chat through external API
- allow managing chat through API when chat button is not present on UI
2021-01-12 06:01:10 -06:00
Asif cd29f10fa8
feat: emit raise hand event to external API (#8312)
* Expose raise hand event to external application

* Fix linting issues

* fix the app non existing issue
2021-01-06 08:49:10 -06:00
Hristo Terezov d4596889df feat(analytics): Adds metric for SS issues. 2020-12-18 15:27:43 -06:00
James E. Blair bab2b0735c
Etherpad on join (#8212)
* Add option to open Etherpad on join

For sites that focus on collaborative editing during meetings, add
an option which, when set, will automatically open etherpad when a
participant joins.

* Add openSharedDocumentOnJoin to config whitelist

This also adds some config file doc comments about the option,
including a note about the choice not to honor it in the mobile app.
2020-12-16 10:10:12 -06:00
Hristo Terezov af6c794fda ref(remote-control): Use React/Redux. 2020-12-15 18:09:58 -06:00
qwertiko GmbH 89ebb4d918
fix(LoginDialog) added missing double quotes 2020-12-15 11:06:44 +01:00
Hristo Terezov 87b1155180 fix(video):Always show avatar if video is inactive 2020-12-14 16:44:08 -06:00
BasmaAwatef 70fcabd136
fix: the user placeholder translation issue #8219 (#8233)
* ✏️ user placeholder translation in authentication added

* Create node.js.yml

* Create npm-publish.yml

* Create deno.yml

* Create ci.yml

* Create stale.yml

* Delete deno.yml

* Delete npm-publish.yml

* Delete ci.yml

* Delete node.js.yml

* Delete ci.yml

* Create main.yml

* Delete stale.yml

* Delete main.yml

* Create ci.yml

* Create simpleCI.yml

* Update simpleCI.yml

* Revert "Delete stale.yml"

This reverts commit 27d88166b9.

* Revert "Delete main.yml"

This reverts commit 037cd96e71.

* Revert "Revert "Delete stale.yml""

This reverts commit 834d96e41c.

* Revert "Revert "Delete main.yml""

This reverts commit f69bc066f9.

* Revert "Revert "Revert "Delete stale.yml"""

This reverts commit d60372da56.

* Revert "Revert "Revert "Delete main.yml"""

This reverts commit 521ca60df3.

* Revert "Revert "Revert "Revert "Delete stale.yml""""

This reverts commit 1f2a9518e1.

* Revert "Revert "Revert "Revert "Delete main.yml""""

This reverts commit adf6c58f8e.

* Revert "Revert "Revert "Revert "Revert "Delete stale.yml"""""

This reverts commit 81c7ecc42f.

* Revert "Revert "Revert "Revert "Revert "Delete main.yml"""""

This reverts commit d1e1c03983.

* Revert "Revert "Revert "Revert "Revert "Revert "Delete stale.yml""""""

This reverts commit b5f16b3e4d.

* Revert "Revert "Revert "Revert "Revert "Revert "Delete main.yml""""""

This reverts commit f9ef5ab193.

* Revert "Revert "Revert "Revert "Revert "Revert "Revert "Delete stale.yml"""""""

This reverts commit b66bbf8698.

* Revert "Revert "Revert "Revert "Revert "Revert "Revert "Delete main.yml"""""""

This reverts commit 01a44daf95.

* Revert "Revert "Revert "Revert "Revert "Revert "Revert "Revert "Delete main.yml""""""""

This reverts commit eb896849a7.

* 🔥 modifications dropped for all languages except for English

* Delete simpleCI.yml

* Delete stale.yml
2020-12-11 07:35:20 -06:00
Дамян Минков 97f47998ba
feat: Exposes a method for checking is remote track received and played/testing. (#8186)
* feat: Exposes a method for checking is remote track received and played.

Used for some tests in torture.

* squash: Drop not matching string.

Duplicate translation key with not matching content.

* squash: Moves torture specific functions to features/base/testing.

Listens for media events from the video tag of the large video and stores them in redux.

* squash: Fix comments.

* feat: Listens for media events from the video tag of the remote videos and stores them in redux.

* squash: Fix undefined videoTrack if between switches.
2020-12-08 08:01:16 -06:00
Mihai-Andrei Uscat a8db3c1b28
chore(popups): Move popup configs to electron-utils 2020-11-26 12:13:50 +02:00
Jaya Allamsetty 696ec36c8c fix(UI): Add method for returning the video type of remote participants.
This is needed for the torture clients to determine the video type for the remote participants when testing desktop share.
2020-11-17 12:49:36 -06:00
Saúl Ibarra Corretgé 29fa4c935e fix(chat) stop using nicknames
We stopped providing a way to set them, so don't render them either.

Also cleanup some leftover config options.
2020-11-13 17:40:57 +01:00
Дамян Минков 12c835dd91
feat: Drops filmStripOnly mode. (#8074)
* feat: Drops filmStripOnly mode.

* squash: Let's make lint happy again.

* squash: Drop some css.
2020-11-10 16:21:07 -06:00
Saúl Ibarra Corretgé ad496ac245 feat(external_api) drop support for noSSL option
Bwrosers have not allowerd WebRTC on non-secure origins for a very long time
now.
2020-11-10 15:09:23 +01:00
damencho 9fa29d7353 feat: Profile tab does not depend on isGuest.
Introduced a config property to disable profile.
2020-11-06 08:12:59 -06:00
Saúl Ibarra Corretgé 2a01d3550c fix(conference) remove no longer needed code
There is no need for setting the availability of desktop sharing anymore. It can
now be detected on the spot.

The reson for the previous code was that way back when browser extensions were
needed, it was possible to start a conference without desktopo sharing support
and get it afterwards. This is no longer the case.
2020-11-03 16:15:01 +01:00
Hristo Terezov 1648e4b407 ref(thumbnail): mutedWhileDisconnected -> redux 2020-11-02 13:49:36 -06:00
Hristo Terezov f45af351d8 ref(thumbnail): use connectionStatus from redux. 2020-10-29 12:05:40 -05:00
Hristo Terezov 68a0bdce2c ref(StatusIndicators): isScreenSharing -> redux. 2020-10-27 13:19:52 -05:00
Hristo Terezov b71d92a139 ref(StatusIndicators): Use audio muted from redux. 2020-10-27 10:16:16 -05:00
Hristo Terezov ca2343c31a ref(StatusIndicators): Use video muted from redux. 2020-10-26 11:03:31 -05:00
Jaya Allamsetty fbfaed07b2 feat(iFrame): Add recording options for RTMP streaming.
Add methods for start/stop recording in addition to the commands that we already have.
2020-10-20 16:15:52 -04:00
Hristo Terezov a6e58c3101 fix(thumbnail): cleanup unused hover properties. 2020-10-16 16:33:26 -05:00
Jaya Allamsetty 223187c640 fix(UI): Do not re-compute the container width when chat window is closed.
Since the external API now sets preferredWidth/preferredHeight for resizing the large video, we don't need to add chat width to the computed window width when the chat window is closed.
Fixes https://github.com/jitsi/jitsi-meet/issues/7889
2020-10-15 10:00:28 -04:00
Saúl Ibarra Corretgé bdda8c56c7 fix(VideoLayout) make thumbnail iteration more resilient
If a failure occurs while we are still setting up the UI it's possible the local
thumbnail is still null, and none of the code assumes it may be null, so skip
it.
2020-10-09 19:30:20 +02:00
Hristo Terezov dc6d3daef7 feat(external-local-storage): support 2020-09-29 17:58:17 -05:00
Jaya Allamsetty 0f9e01a7cf feat(iFrame): Add method for pinning a participant on stage view 2020-09-24 21:42:58 -04:00
paweldomas 812af33a4d fix(mediaDeviceHelper): fix typo in dispatch 2020-09-23 12:57:53 -04:00
paweldomas 7f17c2eceb fix(LargeVideoManager): large video resizing
Distinguish between preferred and calculated width/height
values.
2020-09-23 12:54:26 -04:00
Jaya Allamsetty 09124ad7e9 fix(iframe): Use largeVideo video element for screenshot.
Get the existing HTMLVideoElement for large video instead of creating a new video element for capturing the screenshot.
This should prevent the video player from getting displayed on mobile Safari.
2020-09-23 10:35:36 -04:00
Jaya Allamsetty 7a9a6855b7 fix(UI): Re-compute large-video width only once if the chat window is open.
Deduct the chat window width from large-video width only once if we keep toggling between stage view and grid view while the chat window is open.
2020-09-22 17:44:49 -04:00
Jaya Allamsetty 794713b930
fix(iFrame): Make resizeLargeVideo only available on web 2020-09-21 19:54:45 -04:00
Jaya Allamsetty 1d5decc14f
feat(iFrame): Add a method for capturing screenshot of the large video (#7717) 2020-09-18 11:53:27 -04:00
Saúl Ibarra Corretgé 119b79fd84 fix(SmallVideo) screen-sharing indicator
The stream is attached before the video type change event is fired, so comparing
them is too late. Unconditionally update the screen-sharing indicator, and
perform the check for a change right there, to avoid re-renders.
2020-09-18 17:17:30 +02:00
Jaya Allamsetty bbb4fbd5f8 feat(iFrame): Add a method for resizing large video container from iFrame 2020-09-17 23:41:19 -04:00
Jaya Allamsetty 8dbe3e37b9 feat(iFrame): add a method for getting the participants info 2020-09-16 15:03:47 -04:00
Tudor-Ovidiu Avram e2731ce73e feat(loggin) forward logs to external api 2020-09-15 09:44:50 +02:00
Jaya Allamsetty 4d1dba937f feat(external_api): Add method for displaying participant on large video 2020-09-14 19:39:19 -04:00
Jaya Allamsetty b6792db65f feat(external_api): Add cmd for selecting a user to be displayed in large video 2020-09-14 19:39:19 -04:00
Saúl Ibarra Corretgé 7cafa205ee e2ee: stage 2
Adapt to E2EE changes in lib-jitsi-meet. Notably:

---
    e2ee: introduce per-participant randomly generated keys

    This the second stage in our E2EE journey.

    Instead of using a single pre-shared passphrase for deriving the key used for
    E2EE, we now establish a secure E2EE communication channel amongst peers.

    This channel is implemented using libolm, using XMPP groupchat or JVB channels
    as the transport.

    Once the secure E2EE channel has been established each participant will generate
    a random 32 byte key and exchange it over this channel.

    Keys are rotated (well, just re-created at the moment) when a participant joins
    or leaves.
---
2020-09-10 16:06:25 +02:00
Hristo Terezov fc75d45c6c feat(video-quality): add iframe event and getter. 2020-09-09 18:04:17 -05:00
Saúl Ibarra Corretgé 493ce8249e web,small-video: don't show screen content on thumbnails
This applies just to large view, not tile view.
2020-09-09 18:59:12 +02:00
Saúl Ibarra Corretgé fdffb688c1 web,small-video: introduce screen-sharing indicator 2020-09-09 18:59:12 +02:00
Jesús Espino 400c86ad5e
Adding responsive to jitsi logo, buttons and hiding some part of the interface (#7380)
* Adding responsive to jitsi logo, buttons and hiding some part of the interface
* moving media types thresholds to variables and apply only to screen
* hide chrome extension banner on very small view
* Hide filmstrip only on desktop narrow windows
2020-07-31 07:53:19 -04:00
Saúl Ibarra Corretgé a67d0fbf6c chore: remove some cycles 2020-07-29 09:31:38 +02:00
Saúl Ibarra Corretgé af5d4c850b external_api: filter postis events origin 2020-07-28 11:36:42 +02:00
Bettenbuk Zoltan 240b033e76 feat: auto tile view 2020-07-24 11:06:34 +02:00
Gabriel 4bfc80ecb9
external_api: add ability to toggle lobby 2020-07-23 16:03:53 +02:00
Mihai Uscat 5f5468995f feat(chat): Make chat push content to the side in large view 2020-07-17 10:04:56 +03:00
Saúl Ibarra Corretgé b91d6b97a9 deps: jitsi/js-utils@1.0.0 2020-07-10 10:38:49 +02:00
Samuel Retika 312813e677 Adding isSharingScreen() to external API 2020-06-29 11:24:45 -04: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
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
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
Vlad Piersec 8758c222c6 feat(branding): Add ability to customize logo & background 2020-06-10 14:58:27 +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
Saúl Ibarra Corretgé 3bf82b573c
shared-video: use a more recent video by default 2020-06-03 11:27:08 +02:00
hmuresan b4b4339a1a external_api: add start/stop recording commands 2020-06-03 09:30:19 +02:00
Bettenbuk Zoltan 0598e7369b ref: eslint-config-jitsi@1.0.3 2020-05-20 17:14:29 +02:00
Alejandro Blanco 2e2d40c1d0
external-api: add muteEveryone command 2020-05-19 08:50:21 +02:00
Hristo Terezov d388a7bd3c feat(reload): Preserve local track mute state. 2020-05-07 18:18:21 -05:00
Jaya Allamsetty a48aa2b999 feat(external_api): Add command for setting send/recv video quality 2020-05-07 18:10:41 -04: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
Hristo Terezov 1ffd75c0a6 fix(localStorage): exception when disabled. 2020-05-01 14:48:08 -05:00
Hristo Terezov 851976ebdf fix(RemoteVideo): .oncanplay -> addEventListener
Replaces the .oncanplay listener with addEventListener('canplay', ...).
This is needed because third party libraries (for example callstats)
are brutally overriding the .oncanplay property and replacing our
listener.
2020-04-24 16:04:32 -05:00
Hristo Terezov 4fda428be1 fix(largeVideo): update don't depend on thumbnails 2020-04-17 15:33:13 -05:00
Hristo Terezov f972ebfe9e fix(thumbnail): videos on safari. 2020-04-17 13:15:25 -05:00
Saúl Ibarra Corretgé 33ebd241a9 external_api: add command to set E2EE key 2020-04-16 20:25:56 +02:00
Jaya Allamsetty b7eda8df7a fix(safari): set playsInline attribute to true on the video element
The playsInline attribute needs to be set to true for video to be rendered on Safari on iOS
2020-04-14 12:28:09 -04:00
Jaya Allamsetty 7af88e5c4f fix(safari): Update the check for Safari
In preparation for the lib-jitsi-meet PR for Safari support, isSafariWithWebrtc() will no longer be available
2020-04-08 15:06:29 -04:00