Commit Graph

162 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Alejandro Blanco 2e2d40c1d0
external-api: add muteEveryone command 2020-05-19 08:50:21 +02: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
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
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
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
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
virtuacoplenny 22277ad799
feat(api): add notification for when filmstrip gets toggled (#3974) 2019-03-11 11:17:28 -07:00
Hristo Terezov 55149670da fix(dropbox-auth): In Electron. 2019-02-27 16:12:54 +00:00
Gabriel-Tiberiu Imre-Lucaci 5739e1deaa feat(external_api): notify when api is disposed 2019-02-27 14:39:04 +00:00
paweldomas 4312512d2f feat(external API): add feedbackPromptDisplayed event
Adds a new event fired when Jitsi Meet shows the feedback prompt.
2019-02-20 11:59:46 -06:00
damencho fc129d9849 Adds setting subject and adding event on receiving such change. 2019-02-19 13:22:27 +00:00
virtuacoplenny 6241172af8
feat(screenshare): support remote wireless screensharing (#3809)
* feat(screenshare): support remote wireless screensharing

- Pass events to the ProxyConnectionService so it can
  handle establishing a peer connection so a remote
  participant, not in the conference, can send a
  video stream to the local participant to use as a
  local desktop stream.
- Modify the existing start screensharing flow to accept
  a desktop stream instead of always trying to create one.

* adjust ProxyConnectionService for lib review changes
2019-01-26 12:53:11 -08:00
Bettenbuk Zoltan 3fdf944763 Fix eslint/jsdoc warnings (doc change only!) 2018-11-08 15:52:34 +01:00
Saúl Ibarra Corretgé 2ae2f04f0a feat(eslint): tame the beast 2018-10-10 18:07:36 +02:00
hristoterezov bd8559fad6 fix(invite): IFrame api when invalid invitees are passed. 2018-08-03 12:42:38 -05:00
hristoterezov 769e782c6f feat(callee-info): Redesign. 2018-07-09 20:22:43 -05:00
akshitkrnagpal 20444adbc9 Added emailChange listener to API 2018-07-09 10:14:27 -05:00
hristoterezov a5f2cb8bd9 fix(google-auth): popup. 2018-06-12 19:14:05 -05:00
hristoterezov 69eefc82a5 feat(iframe_api): Add invite functionality. 2018-05-03 10:31:15 +02:00
Leonard Kim 1eee20dd5a ref(toolbar): remove contact list 2018-04-10 09:34:52 +02:00
Slava Kisel e1d849e3a0
Implement external API notification about screen sharing status 2018-02-22 10:25:03 +03:00
damencho 2478176f23 Adds uiLoaded event in iframe API, fired when all resources are loaded. 2018-01-23 15:43:49 -06:00
Leonard Kim 762f529f1d feat(api): expose a way to submit feedback
Spot will need a way to submit call feedback using the iframe
api. For now expose a method on conference.js to submit that
feedback. Exposing on conference.js looks to be the existing
pattern... Also add an event to notify consumers of the iframe
api that feedback was submitted, as postMessage is async
and the notification can at least give some guarantee maybe.

I haven't updated documentation yet as I'm not confident
about this api.
2018-01-19 14:27:44 -08:00
hristoterezov 5ffcaca649 feat(aot): Handle video not available use cases (#2242) 2017-12-04 19:27:17 -08:00
hristoterezov eb30ea9693 fix(alwaysontop): URLs for the additionally loaded resources. 2017-11-14 10:46:08 -06:00
Lyubo Marinov dfebd692f3 eslint 4.8.0
ESLint 4.8.0 discovers a lot of error related to formatting. While I
tried to fix as many of them as possible, a portion of them actually go
against our coding style. In such a case, I've disabled the indent rule
which effectively leaves it as it was before ESLint 4.8.0.

Additionally, remove jshint because it's becoming a nuisance with its
lack of understanding of ES2015+.
2017-10-02 18:12:38 -05:00
Saúl Ibarra Corretgé 46ccefdfe9 feat(external_api): set permissions for cross-origin iframe
In Chrome M63 a warning is shown, permissions won't be automatically allowed
afterwards. Reference:
https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-permissions-in-cross-origin-iframes

Setting this early makes us future proof, while working with current versions
too: Chrome < 63 gives an error because it doesn't understand the option and
Firefox seems to ignore it, so both continue to work as before.
2017-09-13 15:38:30 -05:00
Lyubo Marinov c2ae7999ef Coding style
In certain scenarios we do need to import files instead of features but
even then it is our coding style to not write the file extension.
2017-09-07 12:49:35 -05:00
Lyubo Marinov 15ab7a292c Reduce the dependencies of the Web ExternalAPI
We broke external_api.min.js by importing react/features/util which
imported react/features/base/lib-jitsi-meet.

1. To reduce the risks of such a breakage until we add
   external_api.min.js to the torture tests, import as little as
   possible in modules/API/external/external_api.js.
2. Use the global JitsiMeetJS on Web in react/features/base/util.
2017-09-06 23:20:04 -05:00
hristoterezov 1782030936 feat(alwaysontop): Toolbar. 2017-08-11 17:07:24 -07:00
hristoterezov da9e3fb63e feat(external_api): Return external resources for the always on top. 2017-08-11 17:07:24 -07:00
Lyubo Marinov e542af28a2 [RN] Converge with Web's ExternalAPI a bit
Web's ExternalAPI accepts an object with properties as one of its
constructor arguments and from which it generated a URL. Mobile's
JitsiMeetView.loadURLObject is supposed to accept pretty much the same
object.
2017-07-27 16:48:38 -05:00
hristoterezov 07a0e3d8ff fix(iframe_api): Remove min height/width. 2017-07-14 12:56:20 -05:00
hristoterezov 70122789e7 fix(iframe_api): Change the format of the arguments in the constructor 2017-07-14 12:56:20 -05:00
hristoterezov 3736d6ca78 fix(iframe_api): Remove unnecessary div that wraps the iframe 2017-07-14 12:56:20 -05:00
hristoterezov 07158e8071 style(iframe_api): Adds _ for every non public property 2017-07-14 12:56:20 -05:00
hristoterezov cc6fcfd982 feat(iframe_api): Getter for the iframe 2017-07-14 12:56:20 -05:00
Saúl Ibarra Corretgé 3de6f1cd7f feat(external_api): make sure the created iframe has no border 2017-07-13 13:05:30 -05:00
Saúl Ibarra Corretgé 7b1639569e feat(external_api): make height / width calculation more resilient 2017-07-13 13:05:30 -05:00
hristoterezov 4d329b510f ref: module.exports -> export for the ES6 modules 2017-06-14 19:37:13 -05:00
hristoterezov dfc94ff144 ref(iframe_API): Changing the format of the outgoing messages for API.js 2017-05-01 15:59:18 -05:00
hristoterezov b49c1c6ba2 fix(transport): Code style issues and enableLegacyFormat param bug
Improves naming.
Fixing typos.
enableLegacyFormat param was working like disableLegacyFormat.
Improves the structure of transport/index.js
2017-04-28 15:24:20 -05:00
Lyubo Marinov e9dc9c47a9 Coding style
For lack of a better word/phrase, I'm calling all changes coding style.
I'm targeting readability through naming and syntax.
2017-04-28 10:41:08 -05:00
hristoterezov 3e055c1201 ref(external_api): To use transport module 2017-04-28 10:41:08 -05:00
hristoterezov 55f5ceb85a fix(external_api): JS error in removeListeners and simplifies dispose 2017-04-20 15:08:13 -05:00
hristoterezov 0f42f18100 ref(iframe_api): ESLint support for API.js 2017-04-11 13:31:07 -05:00
Lyubo Marinov a9bdde193d Approach consistent filmstrip naming
We seemed to be using the names "film strip" and "filmstrip" (and,
consequently, their source code-conscious forms such as film-strip,
FilmStrip, etc.) In order to comply with our coding style which requires
a consistent one name for a given abstraction, choose one name and
rename the uses of the other name.

Wikipedia has a definition of a "filmstrip", I couldn't find a "film
strip". I guess our abstraction can be seen as what's described there.
When I google "film strip", I get results about "filmstrip" at the top.
That's why I chose "filmstrip".

Certain uses of "film strip" such as interfaceConfig.filmStripOnly and
in the external API I left untouched in an attempt to preserve
compatibility.

I wasn't sure whether CSS was tangled in compatibility so I made a
choice and renamed there was well.
2017-04-10 12:59:44 -05:00
hristoterezov 334eb5d423 feat(iframe_api): Add more ESLint rules 2017-04-04 17:20:08 -05:00
hristoterezov d416fd8c0f ref(iframe_api): Use EventEmitter 2017-04-04 16:45:47 -05:00
hristoterezov 78119df2db ref(iframe_api): Use ES6 2017-04-04 16:45:47 -05:00
hristoterezov dbcd19418c fix(iframe_api): Passing config params is not working 2017-03-31 11:40:55 -05:00