Commit Graph

259 Commits

Author SHA1 Message Date
tmoldovan8x8 2e69ec71c5
feat(e2ee) add externally managed key mode 2021-11-16 12:12:10 +01:00
Saúl Ibarra Corretgé 8f08a54fb2 chore(deps) adapt to logger package rename 2021-11-10 14:40:17 +01:00
Saúl Ibarra Corretgé 162a67fe8b chore(lint) tame the (uppdated) linter 2021-11-09 09:43:55 +01:00
Horatiu Muresan e273a05dd0
feat(external-api): Add recording download link available event (#10229) 2021-10-22 11:53:22 +03:00
Horatiu Muresan 4b7a6741fa
feat(raised-hand) Change `raisedHand` to a timestamp instead of boole… (#10167)
- this was needed for sorting the raised hand participants in participants pane in
the order they raised their hand also for participants joining late
2021-10-21 12:40:57 +03:00
Mihaela Dumitru f435fc4ade
feat(external-api): add knocking event and approve/reject command (#10210) 2021-10-21 10:39:13 +03:00
hmuresan 7102ad1186 feat(external-api) Expose deployment info through API
- Set region along shard from xmpp
2021-10-07 09:41:42 -05:00
robertpin 09835a672b feat(external_api) Exposed AV Moderation to the iFrame API
Renamed event property
2021-10-06 14:21:27 +03:00
Saúl Ibarra Corretgé 12139655c6 feat(external-api) add data-channel-open event
Signals that the bridge channel is open. It may take a few ms to get established
after the conference join, so applications might be interested in using it once
ready.
2021-09-30 12:31:41 +02:00
Vlad Piersec 0bf52b613b feat(api): Expose event used for sending browser support 2021-09-22 09:20:56 +03:00
Horatiu Muresan 1add438a1f
feat(toolbar-buttons): Add event for notify overwritten toolbar buttons 2021-09-14 10:07:20 +03:00
Izak Glasencnik 6673d12cec feat(external_api): Command to set participant volume 2021-09-09 18:34:34 -05:00
hmuresan 00b5ce71e0 fix(external-api): Avoid naming event 'error'
- EventEmmitter treats 'error' as a special case and throws error.
2021-09-02 19:37:23 +03:00
robertpin 5367d43c26
fix(reactions) fix reactions bugs
* Fix: removed web actions from common middlewares

* Fixed raise hand sound

Fix sound to play on raise not lower and work on keyboard shortcut as well

* Fixed reaction keyboard shortcuts

Register shortcuts only when there's more than one participant

* Enforce reactions feature flag on reaction received

* Disable reactions by default on native

* Enable reactions on native by default

* Sort props alphabetically

* Created isreactionsEnabled function

* Remove unused imports

* Fix. No longer show toolbox on reactions and jibri

On message received don't show toolbox for jibri

* Fix isReactionsEnabled function for native

On native check for flag and config option as well
2021-08-31 13:00:27 +02:00
Horatiu Muresan 7966c8f88f
feat(errors) Expose errors through Iframe API (#9801) 2021-08-25 15:23:40 +03:00
Pierre d6b5687828
fix(misc) fix typeof comparison to undefined 2021-08-06 09:51:54 +02:00
hmuresan 2bac757ca6 feat(branding): Add custom avatar backgrounds 2021-07-20 18:56:06 +03:00
robertpin 601ee219e7
feat(reactions) Added Reactions (#9465)
* Created desktop reactions menu

Moved raise hand functionality to reactions menu

* Added reactions to chat

* Added animations

* Added reactions to the web mobile version

Redesigned the overflow menu. Added the reactions menu and reactions animations

* Make toolbar visible on animation start

* Bug fix

* Cleanup

* Fixed overflow menu desktop

* Revert mobile menu changes

* Removed unused CSS

* Fixed iOS safari issue

* Fixed overflow issue on mobile

* Added keyboard shortcuts for reactions

* Disabled double tap zoom on reaction buttons

* Refactored actions

* Updated option symbol for keyboard shortcuts

* Actions refactor

* Refactor

* Fixed linting errors

* Updated BottomSheet

* Added reactions on native

* Code cleanup

* Code review refactor

* Color fix

* Hide reactions on one participant

* Removed console log

* Lang fix

* Update schortcuts
2021-07-13 09:50:08 +03:00
Hristo Terezov 0bdc7d42c5
feat: Participants optimisations (#9515)
* fix(participants): Change from array to Map

* fix(unload): optimise

* feat: Introduces new states for e2ee feature.

Stores everyoneSupportsE2EE and everyoneEnabledE2EE to minimize looping through participants list.

squash: Uses participants map and go over the elements only once.

* feat: Optimizes isEveryoneModerator to do less frequent checks in all participants.

* fix: Drops deep equal from participants pane and uses the map.

* fix(SharedVideo): isVideoPlaying

* fix(participants): Optimise isEveryoneModerator

* fix(e2e): Optimise everyoneEnabledE2EE

* fix: JS errors.

* ref(participants): remove getParticipants

* fix(participants): Prepare for PR.

* fix: Changes participants pane to be component.

The functional component was always rendered:
`prev props: {} !== {} :next props`.

* feat: Optimization to skip participants list on pane closed.

* fix: The participants list shows and the local participant.

* fix: Fix wrong action name for av-moderation.

* fix: Minimizes the number of render calls of av moderation notification.

* fix: Fix iterating over remote participants.

* fix: Fixes lint error.

* fix: Reflects participant updates for av-moderation.

* fix(ParticipantPane): to work with IDs.

* fix(av-moderation): on PARTCIPANT_UPDATE

* fix(ParticipantPane): close delay.

* fix: address code review comments

* fix(API): mute-everyone

* fix: bugs

* fix(Thumbnail): on mobile.

* fix(ParticipantPane): Close context menu on click.

* fix: Handles few error when local participant is undefined.

* feat: Hides AV moderation if not supported.

* fix: Show mute all video.

* fix: Fixes updating participant for av moderation.

Co-authored-by: damencho <damencho@jitsi.org>
2021-07-09 15:36:19 +03:00
Andrei Gavrilescu da7358d564
feat(audio-screen-share): improved ux flow (#9411)
* add button state / helper dialog

* new audio screen share flow

* change error message

* address a couple of merge conflicts

* fix lint

* address code review

* address code review

* restrict audio screen share on mobile browsers
2021-07-07 11:07:30 +03:00
Avram Tudor 0507f8c2f9
feat(api) expose follow me method (#9486) 2021-07-06 14:37:31 +03:00
hmuresan 1d45edbb27 feat(external-api): Add send chat message command 2021-06-24 13:15:53 +03:00
Дамян Минков 64ae9c7953
feat: UI part for A/V moderation. (#9195)
* feat: Initial UI part for A/V moderation.

Based on https://github.com/jitsi/jitsi-meet/pull/7779

Co-authored-by: Gabriel Imre <gabriel.lucaci@8x8.com>

* feat: Hides context menu in p2p or only moderators in the meeting.

* feat: Show notifications on enable/disable.

* feat(moderation): Add buttons to participant list & notifications

* fix(moderation): Fix raised hand participant leaving

* feat(moderation): Add support for video moderation

* feat(moderation): Add mute all video to context menu

* feat(moderation): Redo participants list 'More menu'

* fix: Fixes clearing av_moderation table.

* fix: Start moderation context menu

* fix(moderation): Show notification if unapproved participant tries to start CS

Co-authored-by: Gabriel Imre <gabriel.lucaci@8x8.com>
Co-authored-by: Vlad Piersec <vlad.piersec@8x8.com>
2021-06-23 14:23:44 +03:00
hmuresan cafefecea5 feat(external_api) Expose command for toggling background dlg 2021-06-14 14:33:34 +03:00
Tudor-Ovidiu Avram 7f04767566 feat(api) expose event for mouse movements inside the iframe 2021-06-10 17:45:28 +03:00
damencho 37e7919fd1 fix: Fixes import warnings. 2021-06-07 11:56:46 -05:00
Tudor-Ovidiu Avram 3ebfb1de70 code review 2021-05-21 12:55:45 +03:00
Tudor-Ovidiu Avram 4e4ff0f60f feat(share-video) Add capability for sharing any direct link video 2021-05-20 13:00:54 +03:00
Philipp Fruck f030706a94
fix(external_api) fixed misspelled api command 2021-04-30 15:36:32 +02:00
Calinteodor f377455069
fix(UI) removed unused methods 2021-04-24 15:14:07 +02: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
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 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
hmuresan ab6790bdaa (external_api) Add command for overwriting config values. 2021-03-10 18:30:14 +02: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
hmuresan 1196ede961 feat(external-api) set `privateMessage` flag on `incoming-message` 2021-01-13 13:33:55 +01: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
Mihai-Andrei Uscat a8db3c1b28
chore(popups): Move popup configs to electron-utils 2020-11-26 12:13:50 +02: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
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
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 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
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 1d5decc14f
feat(iFrame): Add a method for capturing screenshot of the large video (#7717) 2020-09-18 11:53:27 -04: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é af5d4c850b external_api: filter postis events origin 2020-07-28 11:36:42 +02:00
Gabriel 4bfc80ecb9
external_api: add ability to toggle lobby 2020-07-23 16:03:53 +02:00
Samuel Retika 312813e677 Adding isSharingScreen() to external API 2020-06-29 11:24:45 -04: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
Saúl Ibarra Corretgé 33ebd241a9 external_api: add command to set E2EE key 2020-04-16 20:25:56 +02:00
Bettenbuk Zoltan feb8fe9e34 api: add private message flag to outgoingMessage 2020-04-01 11:58:48 +02:00
horymury 4616065b1d
external_api: add ability to send a text message through datachannels 2020-03-20 12:51:26 +01:00
Arzar 011b7f9d00 fix(external_api): Pass Feature-Policy display-capture to the iframe
Starting from version 74, firefox need to be explicitly allowed to capture the screen from an iframe for screensharing. This new Feature-Policy is called "display-capture".
See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy/display-capture
2020-03-18 08:57:11 -04: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é 2ccd4968a4 external_api: don't use the Jitsi Meet logger
This is for other applications to use, and it's currently only used for logging
1 line, so use console.error.
2019-09-06 16:29:23 +02:00
virtuacoplenny 55ff9dbe80
feat(api): expose method for playing touch tones (#4584) 2019-08-30 14:17:22 -07:00
Leonard Kim bc403adb46 feat(api): allow for explicit screenshare state toggling 2019-08-26 06:53:28 -07:00
Jip-Hop 2c70388a9e Get participant specific video element
* Get participant specific video element

We now have the ability to select the video element for specific participants. I'm tweaking the jitsi-meet-electron app for my use case. I need to open Always On Top windows for specific participants, so the current _getLargeVideo() wont suffice.

I made a post about this in the Developers section on the Jitsi Community Forum, but it got blocked by Akismet.

* Add dots at end of sentence.

* Fixed ESlint errors and add additional check for iframe.

* Use _myUserID instead of string.

* Return the local video by default if participantId is undefined.

* Fixed mistake in string template.
2019-08-23 08:35:10 -07: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
virtuacoplenny 732f2c1963
ref(feedback): emit api feedback submitted on completion (#4499)
* ref(feedback): emit api feedback submitted on completion

Compared to firing the event on submission because
the submission ajax will not be completed at that
time..

* squash: update package.json
2019-07-31 10:59:22 -07:00
Leonard Kim 0734ce7ae3 feat(api): add notifications for kicked participants 2019-07-01 12:53:25 -07:00
damencho bb3a10b0fc Safe guard for removed parent node of the iframe. 2019-06-27 14:23:59 +01:00
damencho f77976b742 Notify for detecting suspend. 2019-06-26 17:10:34 +01:00
Leonard Kim ae3b70eb13 feat(api): notify of password required 2019-06-11 08:12:37 -07:00
Hristo Terezov 5fb9422513 feat(API): Add show feedback parameter to hangup 2019-06-01 02:28:04 -07:00
virtuacoplenny 251da1861a
feat(api): notify api of mic and camera errors (#4289)
- Use actions to notify the rest of the app that
  a mic or camera error has occurred
- Use middleware to respond to those notifications
  of errors by showing in-app notifications and
  notifying the external api
2019-05-29 14:17:07 -07:00
Leonard Kim 37b343a797 feat(api): add ability to toggle tile view 2019-05-20 02:53:16 -07:00
Hristo Terezov 829e5597d5 fix(iframe-api-devices): Misc small issues. 2019-03-29 15:42:02 +00:00
Hristo Terezov f2e0704b93 fix(filmstrip-only): DeviceSelectionPopup 2019-03-29 15:42:02 +00:00
Hristo Terezov a7aaf31c79 feat(iframe-api): Add deviceListChanged event. 2019-03-29 15:42:02 +00:00
Hristo Terezov 4967488e56 ref(iframe-api-devices): Use labels instead of IDs 2019-03-29 15:42:02 +00:00
Hristo Terezov ed1d3d3df5 fix(api-devices): Initial device function calls 2019-03-29 15:42:02 +00:00
Hristo Terezov 427f49367b feat(iframe-api): Device handling. 2019-03-29 15:42:02 +00:00
Hristo Terezov cb8e9eed5e feat(subject): UI 2019-03-12 23:03:58 +00:00