Commit Graph

191 Commits

Author SHA1 Message Date
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
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
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 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 a7aaf31c79 feat(iframe-api): Add deviceListChanged event. 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
virtuacoplenny 08f2edf350
feat(screenshare): emit source type when starting screenshare (#3959)
* feat(screenshare): emit source type when starting screenshare

* squash: update doc
2019-03-06 21:46:17 -08: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
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
Lyubo Marinov 520bb8bd22 Coding style/naming: invite & invitee(s)
Hristo Terezov, Chris Cordle, and I/Lyubomir Marinov agreed that we'd
try to use "invite" & "invitee(s)" in Web/React's iframe API,
mobile/react-native's SDK invite API, and internally for the purposes of
consistency, ease of understanding, etc.
2018-05-03 10:31:15 +02: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
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
bgrozev 090f2f9ccb Restructures the analytics events (#2333)
* ref: Restructures the pinned/unpinned events.

* ref: Refactors the "audio only disabled" event.

* ref: Refactors the "stream switch delay" event.

* ref: Refactors the "select participant failed" event.

* ref: Refactors the "initially muted" events.

* ref: Refactors the screen sharing started/stopped events.

* ref: Restructures the "device list changed" events.

* ref: Restructures the "shared video" events.

* ref: Restructures the "start muted" events.

* ref: Restructures the "start audio only" event.

* ref: Restructures the "sync track state" event.

* ref: Restructures the "callkit" events.

* ref: Restructures the "replace track".

* ref: Restructures keyboard shortcuts events.

* ref: Restructures most of the toolbar events.

* ref: Refactors the API events.

* ref: Restructures the video quality, profile button and invite dialog events.

* ref: Refactors the "device changed" events.

* ref: Refactors the page reload event.

* ref: Removes an unused function.

* ref: Removes a method which is needlessly exposed under a different name.

* ref: Refactors the events from the remote video menu.

* ref: Refactors the events from the profile pane.

* ref: Restructures the recording-related events.

Removes events fired when recording with something other than jibri
(which isn't currently supported anyway).

* ref: Cleans up AnalyticsEvents.js.

* ref: Removes an unused function and adds documentation.

* feat: Adds events for all API calls.

* fix: Addresses feedback.

* fix: Brings back mistakenly removed code.

* fix: Simplifies code and fixes a bug in toggleFilmstrip

when the 'visible' parameter is defined.

* feat: Removes the resolution change application log.

* ref: Uses consistent naming for events' attributes.

Uses "_" as a separator instead of camel case or ".".

* ref: Don't add the user agent and conference name

as permanent properties. The library does this on its own now.

* ref: Adapts the GA handler to changes in lib-jitsi-meet.

* ref: Removes unused fields from the analytics handler initializaiton.

* ref: Renames the google analytics file and add docs.

* fix: Fixes the push-to-talk events and logs.

* npm: Updates lib-jitsi-meet to 515374c8d383cb17df8ed76427e6f0fb5ea6ff1e.

* fix: Fixes a recently introduced bug in the google analytics handler.

* ref: Uses "value" instead of "delay" since this is friendlier to GA.
2018-01-03 13:24:07 -08:00
virtuacoplenny 9b67e796bd ref(analytics): centralize all event names (#2272)
* ref(analytics): centralize all event names

* squash: fix typo and alpha ordering

* squash: rename file to AnalyticsEvents to parallel lib-jitsi-meet
2017-12-11 12:48:32 -06:00
hristoterezov ee1ec42463 fix(external_api): Request feedback when using the API (#2271) 2017-12-11 09:43:52 -08:00
hristoterezov 5ffcaca649 feat(aot): Handle video not available use cases (#2242) 2017-12-04 19:27:17 -08:00
hristoterezov 0b50578de9 style(analytics): sendEvent -> sendAnalyticsEvent 2017-10-17 19:33:32 -05:00
hristoterezov 0eddef4d62 feat(mute): Add analytics and console logs for audio/video mutes 2017-10-13 09:50:48 -05:00
paweldomas 122be9e0e0 ref: move 'jwt' feature to 'base' 2017-10-12 14:43:09 -05:00
Lyubo Marinov 5561a9c031 Partially prepare for eslint-plugin-flowtype 2.37.0 2017-10-03 14:41:54 -05: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
hristoterezov f93c1b5748 fix(external_api): isAudioMuted and isVideoMuted 2017-08-28 16:56:27 -05:00
hristoterezov 5ef914602f fix(remotecontrol): Handle screen sharing cancel 2017-08-21 10:41:24 +01:00
hristoterezov 1782030936 feat(alwaysontop): Toolbar. 2017-08-11 17:07:24 -07:00
paweldomas e818fa1e9e fix(API): early audio muted status
Apply the same early audio muted logic as for the video.
2017-07-28 12:06:42 -05:00
paweldomas a5f61714bd fix: unmute video on audio only switch off
Will unmute local video (and ask for permissions if needed) in case user
started in audio only mode and is turing it off.
2017-07-21 15:04:37 +02:00
Lyubo Marinov 320e67baa1 Fix the initialization of the (external) API
The counterpart of the external API in the Jitsi Meet Web app uses the
search URL param jwt to heuristically detect that the Web app is very
likely embedded (as an iframe) and, consequently, needs to forcefully
enable itself. It was looking at whether there was a JSON Web Token
(JWT) but that logic got broken when the JWT support was rewritten
because the check started happening before the search URL param jwt was
parsed.
2017-05-30 09:38:18 -05:00
Lyubo Marinov 75a486ff96 Merge branch 'abstract_transport2'
Additionally, attempt to move closer to the coding style adopted by
react/.
2017-05-02 17:40:16 -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 54388b6a0a ref(remotecontrol): To use transport module instead of API 2017-04-28 10:41:08 -05:00
hristoterezov 0dff35c0db feat(transport): Implement transport module
The transport module will be handling all external app
communication.
2017-04-28 10:41:08 -05:00
Lyubo Marinov cbc08eb96d Merge remote-tracking branch 'origin/race_conditions' into api_eslint 2017-04-11 14:31:05 -05:00
Lyubo Marinov f4de65a647 Comply w/ coding style 2017-04-11 14:30:00 -05:00
hristoterezov 0f42f18100 ref(iframe_api): ESLint support for API.js 2017-04-11 13:31:07 -05:00
hristoterezov ab62690b97 fix(iframe_api): toggle audio/video race condition
If toggle audio or video is executed too early and the local
tracks don't exist we fail to execute the operation. Now we store
the mute state and we are executing it after the tracks are
created
2017-04-11 12:22:04 -05:00
hristoterezov e7a3ee477d fix(frame_api): toggle SS race condition
If toggle SS is executed too early and lib-jitsi-meet is not yet
initialized toggle SS will fail. Now we are storing the whether
SS is on or off and when lib-jitsi-meet is ready we are starting
SS if needed.
2017-04-11 12:19:28 -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 0ed39dad63 fix(iframe_api): Display name command race condition
If executeCommand('displayName') is executed before Jitsi Meet
is fully initialized some listeners were not added and the
display name was not changed.
2017-03-29 10:23:07 -05:00
hristoterezov 15090243d0 fix(API): JS errors caused by remote control merge 2017-01-23 15:29:25 -06:00
hristoterezov b22e3ee253 style(remotecontrol): Fix JSDoc for RemoteControlEvent 2017-01-23 15:29:25 -06:00
hristoterezov 0efca9a9a8 fix(remotecontrol): Fixing issues after peer review. 2017-01-23 15:29:25 -06:00
hristoterezov 846fb9abb0 feat(remotecontrol): Implement requesting remote control permissions 2017-01-23 15:29:25 -06:00
hristoterezov 0f33e59e4d feat(remotecontrol): announce remotecontrol support 2017-01-23 15:29:25 -06:00
hristoterezov 896650d005 feat(remotecontrol): Implement basic remote control support 2017-01-23 15:29:25 -06:00
hristoterezov 4a5a1cd5f4 fix(iframe_api): Remove enable/disable events 2017-01-18 14:24:21 -06:00
hristoterezov f7ce8d028d feat(iframeAPI): implement avatar change commands 2017-01-12 15:53:17 -06:00
paweldomas b58f1cdd16 use logger instead of console 2016-11-23 11:32:55 -06:00
hristoterezov dc43135980 fix(iframe_api): toggleScreenSharing command 2016-10-18 14:37:55 -05:00
hristoterezov 94366190a0 Merge pull request #928 from maximax123/fix-command
hot fix api.executeCommand
2016-10-12 11:38:31 -05:00
hristoterezov 47d39ed5ca feat(iframe_api): Implement readyToClose event and hangup command 2016-10-05 16:33:09 -05:00
Gubin, Maksim 9aa7f80e82 hot fix api.executeCommand 2016-09-23 14:04:19 +03:00
hristoterezov 02f176c75a Changes the implementation of the iframe API to use postis 2016-06-17 15:35:40 -05:00
hristoterezov 8deb003ef6 JWT client support 2016-06-13 16:11:44 -05:00
hristoterezov d535765648 Fixes issue with externalConnectUrl hash param when the value is null 2016-04-29 11:46:24 -05:00
hristoterezov d09021457b Fixes JS error in API module 2016-01-25 14:08:50 -06:00
isymchych 666dfb9b63 do not use xmpp module in API module 2016-01-14 17:05:54 +02:00
isymchych 59f98205c7 use JS API; UI module refactoring 2015-11-30 13:54:54 +02:00
Boris Grozev bd58e6c799 Enables the jshint maximum line length check (80 chars) globally, and only overrides it in certain files. 2015-09-10 22:28:16 -05:00
Boris Grozev b4983b2566 Merge branch 'rename-mute-to-toggle' 2015-08-03 11:46:55 -05:00
Boris Grozev fd5a739f3c Minor formatting fixes, avoid using a global variable. 2015-07-31 14:25:48 -05:00
Boris Grozev 46a17948d0 Renames the external API commands from "mute{Audio,Video}" to "toggle{Audio,Video}" since what they do is "toggle". 2015-07-29 11:28:37 -05:00
Devin Wilson 829d8dab16 Fix CallStats require and initialize API commands and keyboard shortcuts in init method 2015-07-17 09:57:59 -06:00
Zalmoxisus 7a54537bee Fixes chat messages timestamp according to XEP-0203. Fixes #305. 2015-06-23 16:14:06 +03:00
George Politis 5f48e4cf9d Revert "Updates the license headers."
This reverts commit 93648f361b.
2015-06-18 18:59:41 +02:00
George Politis 93648f361b Updates the license headers. 2015-06-18 16:17:09 +02:00
Boris Grozev 886fb2ac43 Fix typos and rename event names for purposes of clarity. 2015-04-08 12:30:48 +02:00
hristoterezov 9eb2873cfa Removes the bundles for every module and add bundle for the whole application. 2015-01-28 16:35:22 +02:00
hristoterezov af50bd5b94 Resolves some module dependancies by replaces them with events. 2015-01-24 16:28:02 +02:00
hristoterezov 899f0ee83d Removes UI dependancies in the xmpp module. 2015-01-23 17:36:17 +02:00
hristoterezov e4e66a03d7 Creates initial version of xmpp module. 2015-01-19 11:20:00 +02:00
hristoterezov 0508628871 Creates API module. 2015-01-09 15:39:32 +02:00