Commit Graph

182 Commits

Author SHA1 Message Date
virtuacoplenny 84b589719f fix(connection): reload immediately on possible split-brain (#3162)
* fix(connection): reload immediately on possible split-brain

There isn't an explicit way to know when a split brain
scenario has happened. It is assumed it arises when an
"item-not-found" connection error is encountered early
on in the conference. So, store when a connection has
happened so it be calculated how much time has
elapsed and if the threshold has not been exceeded
then do an immediate reload of the app instead of
showing the overlay with a reload timer.

* squash: rename isItemNotFoundError -> isShardChangedError
2018-07-02 16:22:51 -05:00
Дамян Минков ac834326e7
Token based features (#3075)
* Adds an option to disable features based on token data.

Reverts changes from b84e910086, removes disableDesktopSharing option and an interface_config option.

* Disable recording button based on token features data.

Hide recording if local participant isGuest and roles based on token.
When enableUserRolesBasedOnToken is enabled we were not hiding the record button for guests.

* Adds filtering of jibri iqs and rayo based on features.

Moves feature checking in separate utility function.
Renames utility method.

* Adds a footer text when outbound-call is not feature enabled.

* Fixes comments.
2018-06-15 13:10:22 -05:00
bbaldino 8df54d2cb3 document layer suspension config and add to whitelist (#3123) 2018-06-12 09:06:10 -07:00
virtuacoplenny 84f303dd3c ref(toolbar): show recording features based on explicit configs (#3080)
* ref(toolbar): show recording features based on explicit configs

* squash: bring back button configs, use final config names

* squash: update interfaceConfig comment, remove unused config whitelist

* squash: change order of button enabled checks to reduce diff

* squash: fileRecording -> fileRecordings
2018-06-05 22:19:28 -07:00
Guus der Kinderen acc41e6d0b feat(toolbar): add 'always-visibile' config option
The visibility of the toolbar can be toggled by interacting with the main screen.
This change allows the toolbar to be configured to be 'always visible'. This voids
the 'toggle' functionality.
2018-05-30 16:12:05 +02:00
Leonard Kim 5270da4c14 ref(toolbar): remove reference to unused config autoEnableDesktopSharing 2018-04-11 10:35:01 +02:00
paweldomas 4d942440db feat: add TestConnectionInfo for mobile
Adds TestConnectionInfo component which exposes some internal app state
to the jitsi-meet-torture through the UI accessibility layer. This
component will render only if config.testing.testMode is set to true.
2018-04-10 16:43:12 -05:00
George Politis ea46cbc479 feat: enableTcc, enableRemb, minParticipants. 2018-04-02 15:37:53 -05:00
damencho a902540167 Removes Firefox extension handle (removed in FF newer than latest ESR). 2018-03-21 18:06:17 -05:00
virtuacoplenny 823481dc1d feat(recording): use google api to get stream key (#2481)
* feat(recording): use google api to get stream key

* squash: renaming pass

* squash: return full load promise

* sqush: use google api state enum

* squash: workaround for lib not loading

* another new design...

* increase timeout workaround for gapi load issue

* styling pass

* tweak copy

* squash: auto select first broadcast
2018-03-21 11:26:52 -07:00
George Politis 1c8b8e031b feat: Whitelists the gatherStats option. (#2561)
* feat: Whitelists the gatherStats option.

* doc: Replaces obsolete disableStats option with gatherStats.
2018-03-05 11:12:39 -06:00
hristoterezov 2d9b906a3b feat(ss_framerate): Add config option for min/max frame rate. 2018-02-22 19:37:17 -06:00
Boris Grozev 03fc711e81 feat: Makes the google analytics tracking id configurable. 2018-02-12 14:00:04 -06:00
hristoterezov c9e3e5052d fix(lib-jitsi-meet): RTCBrowserType -> browser. 2018-01-22 15:56:06 -06: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
Дамян Минков e28b847fb0 Updates config feature and whitelists options that can be overridden. (#2282)
* Removes unused config logic.

* Whitelists config options that can be overridden using the URL.

* Recorder login with credentials, not supported by externalconnect.

Jibri uses xmpp credentials to login, which is not supported by externalconnect, so we want to skip it till that is supported.

* Whitelist only config.js

* Extracts whitelisting in separate function.
2017-12-12 11:16:55 -08:00
George Politis 045a922482 npm: Updates lib-jitsi-meet to dc3397b18b3c3c41ee8d17224f9af9318b844c43. 2017-11-22 10:39:43 -06:00
linkmauve 980aa9b39a Remove duplicated line in config.js (#2159) 2017-11-22 10:56:51 +01:00
virtuacoplenny 2d9ce2486e feat(1080p): pass new-style constraints to createLocalTracks (#2087)
The lib will accept new style constraints and use those
to capture audio/video. By defining the constraints in
config, there is greater flexibility for defining
and changing constraints.
2017-10-31 17:08:07 -07:00
damencho 654c5c44f4 Adds the displayName if available to the conference options on create. 2017-10-16 16:20:09 -05:00
Lyubo Marinov 5d313a8cd8 Coding style
A few occurrences of coding style/formatting which I noticed while
reviewing 'feat(eslint): Enable for non react files'. These are
definitely not all occurrences I could've noticed during the review
but... we're talking about files outside react/ anyway.
2017-10-16 15:37:13 -05:00
hristoterezov 969f5d67ab feat(eslint): Enable for non react files 2017-10-16 14:36:29 -05:00
Saúl Ibarra Corretgé 3c3b05e3ea Add ability to disable h264 (#2061)
* doc: document disableH264 option

* [RN] Override disableH264 config option

We never want it disabled on mobile.
2017-10-12 15:42:55 -07:00
Saúl Ibarra Corretgé 19d9b3f023 feat(config): reorganize and thoroughly document config.js
- Document each option.
- Group options semantically.
- Remove no longer existing options.
- Add some missing options.
- Fix punctuation here and there.

NOTE: This is a first step towards a full configuration overhaul, once it
materializes each of the "semantic sections" will be a JS object.
2017-08-10 07:44:53 -05:00
paweldomas d2e8b13add feat: add config.startWithAudioMuted config.startWithVideoMuted 2017-07-28 12:06:42 -05:00
Saúl Ibarra Corretgé 2525bb2805 Merge pull request #1802 from jitsi/start_in_audio_only
Start in audio only
2017-07-24 14:32:20 +02:00
paweldomas 6493b09565 feat: add config.startAudioOnly
When the 'startAudioOnly' config option is set to true the conference
will start in the audio only mode.
2017-07-21 15:03:28 +02:00
Saúl Ibarra Corretgé 3c084c0082 config: document enableFirefoxSimulcast 2017-07-20 09:48:28 +02:00
Saúl Ibarra Corretgé c97daff506 Merge pull request #1775 from jitsi/start_screen
Add config.startScreenSharing
2017-07-18 13:51:57 +02:00
paweldomas 3926d705ad feat: add config.startScreenSharing
Will try to use screensharing instead of camera video from
the beginning.
2017-07-17 15:32:01 +02:00
paweldomas b84e910086 feat: add option to disable desktop sharing
config.disableDesktopSharing - when set to false will disable desktop
sharing

interfaceConfig.DESKTOP_SHARING_BUTTON_DISABLED_TOOLTIP - when value is
assigned, will not hide the desktop sharing button completely, but show
as disabled with this value used as the tooltip text.
2017-07-14 10:14:00 -05:00
paweldomas 0f4c785705 feat(config.js): add config.testing. 2017-07-07 15:40:08 +02:00
bbaldino 5c199e2195 Merge pull request #1740 from bgrozev/refactor-deployment-info
Refactor deployment info
2017-07-05 18:41:38 -07:00
George Politis 86c867ea71 docs: Documents the p2p.useStunTurn option. 2017-07-04 12:50:21 +02:00
Boris Grozev 2a3c4cfb82 ref: Adds deployment info variables to config.js,
removes local.html
2017-06-30 13:37:11 -05:00
Saúl Ibarra Corretgé 8a3cec4a9d feat(p2p): enable H.264 for P2P by default
On mobile we got the extra step of overriding the option and always set it to
true.
2017-06-29 11:22:32 +02:00
Saúl Ibarra Corretgé 3ea2f00578 feat(p2p): refactor configuration options 2017-06-28 14:57:39 +02:00
Saúl Ibarra Corretgé 35f79dd2b4 config: default resolution is now 720p 2017-06-27 08:25:34 -05:00
paweldomas 4b487e3c89 config: enable P2P by default 2017-05-26 12:59:24 -05:00
Leonard Kim 2333249b05 feat(1-on-1): Initial implementation
- Expose an api on Filmstrip to hide the remote videos container, which does so
  by adding a class
- Modify listeners for user join, leave, share video to call the api
- Hide the container when there is 1 or fewer remote participants
- Always show the container if self view is in focus
- Show the container if the number of remote thumbnails does not match the count
  of remote participants, such as the case of sharing a video
2017-05-23 13:28:27 -07:00
Leonard Kim 0f0ff6788c fix(config): Bring back minHDHeight 2017-05-17 16:13:16 -05:00
Leonard Kim a88409bbfa fix(video-label): Display based on video dimensions in LargeVideoManager
In its current implementation, the VideoStatusLabel shows HD based on peer
connection stats. These stats will be available on temasys browsers soon but
will remain unavailable on Firefox, which does not collect height/width stats.
To support VideoStatusLabel showing cross-browser, move the high-definition
detection out of stat sniffing and instead check the video element itself using
an interval in LargeVideoManager. (An interval was used because the temasys
video object does not support the onresize event.) Also, add a cleanup path from
conference.web to LargeVideoManager to remove the interval.
2017-05-17 11:54:22 -05:00
Saúl Ibarra Corretgé a96a70869d fix(screen-sharing) Enable it by default on Firefox
Starting with Firefox 51 the extension is no longer mandatory, so make sure the
feature is not desabled by default.
2017-05-15 12:15:00 +01:00
paweldomas 5e2e7902ce fix(config.js): remove unused 'logStats'
This config option is not used anymore.
2017-04-18 14:27:00 -05:00
paweldomas fba086134d add default STUN servers to config.js 2017-03-22 11:23:30 -05:00
paweldomas fb47b6ae21 feat: add test P2P methods 2017-03-22 11:23:29 -05:00
George Politis c942017b73 Merge pull request #1341 from saghul/doc-disableRtx
config: switch default disableRtx to false
2017-02-28 08:52:33 -06:00
Boris Grozev 6121bcf171 config: Don't require an extension for firefox >=52.
Starting with firefox 52, no extension is required for screensharing.
See https://wiki.mozilla.org/Screensharing
2017-02-27 16:08:13 -06:00
Saúl Ibarra Corretgé 9f866ae608 config: switch default disableRtx to false 2017-02-21 20:02:55 +01:00
Saúl Ibarra Corretgé 213b73da6e cleanup: remove old adaptive simulcast config option 2017-02-20 15:46:41 +01:00
George Politis 08efd5ecab Merge pull request #1327 from saghul/doc-resolution
doc: document resolution config option and set it to 720 by default
2017-02-17 11:33:04 -06:00
Saúl Ibarra Corretgé 175c8e6e50 cleanup: remove adaptive las N config option
The feature has been replaced so the option no longer applies.
2017-02-17 15:33:20 +01:00
Saúl Ibarra Corretgé f90667b23c doc: document resolution config option and set it to 720 by default 2017-02-17 13:53:41 +01:00
George Politis 3d671ae71f docs: Documents the disableRtx config option. 2017-02-06 11:19:33 -06:00
George Politis a7015b0d1a fix: Respect the disableRtx config option. 2017-01-30 16:20:23 +00:00
Saúl Ibarra Corretgé 6d6b5a7917 cleanup: Remove default Chrome extension ID
It makes for a bad first-time experience for users, since the desktop sharing
button will be visible, but it will never work.

Also get rid of the now deprecated `desktopSharingChromeMethod` option.
2017-01-23 15:21:28 -06:00
Boris Grozev 7707e384c5 config: Disable suspend video by default. 2016-12-12 10:37:36 -06:00
Boris Grozev 142f6e4518 feat: Enables by default tab sharing for chrome. 2016-11-29 11:30:02 -06:00
Lyubomir Marinov a2b076985a ESLint
Enable ESLint on jitsi-meet with the same configuration and the same
goals as in lib-jitsi-meet.
2016-10-03 11:12:27 -05:00
damencho fcf7069b25 Adds close page.
When enabled after hanging up redirect to close page, if needed feedback will be displayed.
2016-09-22 15:32:54 -05:00
hristoterezov f10b13328f feat(profile): Don't allow non-guest users to edit their profile 2016-09-13 16:56:05 -05:00
George Politis 318ab2c9dc Nukes the pre-configured bridge from the config file. 2016-05-19 14:51:45 -05:00
Boris Grozev 8466aa2f78 Renames adaptiveSimulcast to disableAdaptiveSimulcast.
In conjunction with corresponding commits in lib-jitsi-meet and jicofo
this enables adaptive simulcast whenever simulcast is enabled.
2016-04-04 14:15:59 -05:00
yanas d49dff4ae1 Fixes a config parameter name. Removes a console.log, which got there by mistake. Fixes some css properties of the chat unread messages. 2016-03-24 12:17:58 -05:00
yanas 72454ff279 HD label added when the large video is in HD. 2016-03-24 10:03:48 -05:00
George Politis 70346e2307 Replaces obsolete config option and enables simulcast by default. 2016-01-28 22:07:39 +00:00
Lyubomir Marinov 4a6e8e5e6e Manually formats config.js to bring in a bit of consistency and make uncommenting properties a tad easier and less error prone. 2016-01-14 10:06:47 +02:00
Boris Grozev f42684d789 Changes enableThirdParty requests to disableThirdParty requests, in
order to not change existing behaviour (without changes to config.js).
2015-12-08 22:52:12 +00:00
Jesse Bickel 3f42f8bf67 Only load 3rd party JavaScript when config.enableThirdPartyRequests is true. 2015-12-04 13:03:10 -06:00
Spellauge 277f340063 authdomain2 2015-10-12 17:38:35 +02:00
Boris Grozev 62d3b749bb Adds config options to filter out TCP or UDP candidates (for the purpose
of forcing one or the other in automated tests).
2015-09-21 11:28:55 -05: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 995b3be6e7 Implements screen sharing for firefox, using a jidesha extension.
Renames some fields in config.js.
2015-09-03 10:00:36 -05:00
paweldomas a7048fba06 Implements HTTP POST query for fetching app configuration. 2015-08-24 11:53:10 +02:00
Boris Grozev b0c81985d4 Removes the useBundle and useRtcpMux options from config.js. These are
now fully supported by jitsi-videobridge and all browsers which we
support (and if we need to enable them conditionally because of browser
compatibility in the future, we should do it based on run-time browser
detection.)
2015-07-29 11:26:50 -05:00
hristoterezov 47b6355d66 Implements functionality that forces the user to enter display name. 2015-07-02 17:04:37 +03:00
hristoterezov 506312ac95 Integrates callstats.io API. 2015-06-26 15:32:40 +03:00
hristoterezov 8a4c341512 Implements default language config property and comments to config.js 2015-05-29 17:09:44 +03:00
hristoterezov 099e3340bc Implements start muted feature. 2015-05-19 18:03:01 +03:00
hristoterezov cc1ad1bc13 Implement the functionality that allows users to start the conversation muted. 2015-04-22 12:31:08 +03:00
George Politis e98c8ada6a Nukes the enableFirefoxSupport config param. 2015-03-31 13:02:59 +02:00
George Politis 58494d45db Brings back goog-remb signaling. 2015-03-26 11:29:40 +01:00
paweldomas 90d979b69d Makes it possible to display notification message above the toolbar. 2015-03-12 17:56:28 +01:00
George Politis e1d71a41f7 Adds FF in the list of supported browsers. Enables it by default. 2015-03-12 16:33:27 +01:00
George Politis 54b3cbcf94 Reverts config.js 2015-03-09 17:58:11 +01:00
hristoterezov d2f95f3c81 Fixes some translation issues. 2015-03-09 17:50:13 +02:00
hristoterezov d21f994eee Removes rtp stats option and adds options for disabling/enabling stats and audio levels. 2015-02-09 14:51:25 +02:00
Boris Grozev 87f8b91a96 Implements recording through a jirecon instance. 2014-12-30 19:57:43 +02:00
paweldomas 933a41492e No longer requires focus component and focusUserJid to be configured in config.js(but they can still be overridden there). 2014-12-05 17:02:41 +01:00
paweldomas f749bed1dd Adds jicofo debian package integration. 2014-12-02 20:11:54 +01:00
paweldomas e308025143 Merge branch 'master' into ssfocus
Conflicts:
	config.js
	libs/strophe/strophe.jingle.session.js
	rtp_sts.js
2014-12-02 20:09:24 +01:00
hristoterezov edb89a65d5 Adds config property for enabling firefox support 2014-12-01 19:59:51 +02:00
paweldomas 7e90d73003 Saves PeerConnection statistics and prepares to send them over XMPP(written by Boris Grozev). 2014-11-28 16:23:57 +01:00
paweldomas 8f94ac8b09 Detects focus user in reliable way(through user real JID). Fixes kicked event when both 307 and 110 status codes are received in MUC presence. 2014-11-28 16:21:01 +01:00
paweldomas 6afcfb2598 Basic recording. 2014-11-28 16:05:10 +01:00
paweldomas f629ec17fa Focus and debug changes 2014-11-28 16:00:57 +01:00
hristoterezov 480d6f8c59 Enables the welcome page in config file. 2014-11-12 10:35:44 +02:00
hristoterezov 6861dc967f Removes "," from the last element in config.js 2014-11-04 16:15:34 +02:00
hristoterezov cbb3b78d9a Removes brand.js 2014-11-04 16:14:02 +02:00
George Politis ee44ed5749 Adds config.adaptiveSimulcast, a new bool option that optionally enables simulcast adaptivity. 2014-11-04 14:27:23 +01:00