Update config whitelist authored by Roland Alton's avatar Roland Alton
Jitsi config parameters ### Jitsi config parameters
https://github.com/jitsi/jitsi-meet/blob/master/react/features/base/config/configWhitelist.js config list see https://github.com/jitsi/jitsi-meet/blob/master/config.js
``` api config list see https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-configuration/
import extraConfigWhitelist from './extraConfigWhitelist'; compare and check new config variables with https://shawnchin.github.io/jitsi-config-differ/
/** config white list https://github.com/jitsi/jitsi-meet/blob/master/react/features/base/config/configWhitelist.js
* The config keys to whitelist, the keys that can be overridden.
* Currently we can only whitelist the first part of the properties, like ```
* 'p2p.enabled' we whitelist all p2p options.
* The whitelist is used only for config.js. import extraConfigWhitelist from './extraConfigWhitelist';
*
* @type Array /**
*/ * The config keys to whitelist, the keys that can be overridden.
export default [ * Currently we can only whitelist the first part of the properties, like
'_desktopSharingSourceDevice', * 'p2p.enabled' we whitelist all p2p options.
'_peerConnStatusOutOfLastNTimeout', * The whitelist is used only for config.js.
'_peerConnStatusRtcMuteTimeout', *
'abTesting', * @type Array
'analytics.disabled', */
'audioLevelsInterval', export default [
'apiLogLevels', '_desktopSharingSourceDevice',
'avgRtpStatsN', '_peerConnStatusOutOfLastNTimeout',
'_peerConnStatusRtcMuteTimeout',
/** 'abTesting',
* The display name of the CallKit call representing the conference/meeting 'analytics.disabled',
* associated with this config.js including while the call is ongoing in the 'audioLevelsInterval',
* UI presented by CallKit and in the system-wide call history. The property 'apiLogLevels',
* is meant for use cases in which the room name is not desirable as a 'avgRtpStatsN',
* display name for CallKit purposes and the desired display name is not
* provided in the form of a JWT callee. As the value is associated with a /**
* conference/meeting, the value makes sense not as a deployment-wide * The display name of the CallKit call representing the conference/meeting
* configuration, only as a runtime configuration override/overwrite * associated with this config.js including while the call is ongoing in the
* provided by, for example, Jitsi Meet SDK for iOS. * UI presented by CallKit and in the system-wide call history. The property
* * is meant for use cases in which the room name is not desirable as a
* @type string * display name for CallKit purposes and the desired display name is not
*/ * provided in the form of a JWT callee. As the value is associated with a
'callDisplayName', * conference/meeting, the value makes sense not as a deployment-wide
'callFlowsEnabled', * configuration, only as a runtime configuration override/overwrite
* provided by, for example, Jitsi Meet SDK for iOS.
/** *
* The handle * @type string
* ({@link https://developer.apple.com/documentation/callkit/cxhandle}) of */
* the CallKit call representing the conference/meeting associated with this 'callDisplayName',
* config.js. The property is meant for use cases in which the room URL is 'callFlowsEnabled',
* not desirable as the handle for CallKit purposes. As the value is
* associated with a conference/meeting, the value makes sense not as a /**
* deployment-wide configuration, only as a runtime configuration * The handle
* override/overwrite provided by, for example, Jitsi Meet SDK for iOS. * ({@link https://developer.apple.com/documentation/callkit/cxhandle}) of
* * the CallKit call representing the conference/meeting associated with this
* @type string * config.js. The property is meant for use cases in which the room URL is
*/ * not desirable as the handle for CallKit purposes. As the value is
'callHandle', * associated with a conference/meeting, the value makes sense not as a
'callStatsConfIDNamespace', * deployment-wide configuration, only as a runtime configuration
'callStatsID', * override/overwrite provided by, for example, Jitsi Meet SDK for iOS.
'callStatsSecret', *
* @type string
/** */
* The UUID of the CallKit call representing the conference/meeting 'callHandle',
* associated with this config.js. The property is meant for use cases in 'callStatsConfIDNamespace',
* which Jitsi Meet is to work with a CallKit call created outside of Jitsi 'callStatsID',
* Meet and to be adopted by Jitsi Meet such as, for example, an incoming 'callStatsSecret',
* and/or outgoing CallKit call created by Jitsi Meet SDK for iOS
* clients/consumers prior to giving control to Jitsi Meet. As the value is /**
* associated with a conference/meeting, the value makes sense not as a * The UUID of the CallKit call representing the conference/meeting
* deployment-wide configuration, only as a runtime configuration * associated with this config.js. The property is meant for use cases in
* override/overwrite provided by, for example, Jitsi Meet SDK for iOS. * which Jitsi Meet is to work with a CallKit call created outside of Jitsi
* * Meet and to be adopted by Jitsi Meet such as, for example, an incoming
* @type string * and/or outgoing CallKit call created by Jitsi Meet SDK for iOS
*/ * clients/consumers prior to giving control to Jitsi Meet. As the value is
'callUUID', * associated with a conference/meeting, the value makes sense not as a
* deployment-wide configuration, only as a runtime configuration
'channelLastN', * override/overwrite provided by, for example, Jitsi Meet SDK for iOS.
'constraints', *
'brandingRoomAlias', * @type string
'debug', */
'debugAudioLevels', 'callUUID',
'defaultLanguage',
'desktopSharingFrameRate', 'channelLastN',
'desktopSharingSources', 'constraints',
'disable1On1Mode', 'brandingRoomAlias',
'disableAEC', 'debug',
'disableAGC', 'debugAudioLevels',
'disableAP', 'defaultLanguage',
'disableAudioLevels', 'desktopSharingFrameRate',
'disableDeepLinking', 'desktopSharingSources',
'disableInitialGUM', 'disable1On1Mode',
'disableH264', 'disableAEC',
'disableHPF', 'disableAGC',
'disableInviteFunctions', 'disableAP',
'disableLocalVideoFlip', 'disableAudioLevels',
'disableNS', 'disableDeepLinking',
'disableProfile', 'disableInitialGUM',
'disableRemoteControl', 'disableH264',
'disableRemoteMute', 'disableHPF',
'disableRtx', 'disableInviteFunctions',
'disableShortcuts', 'disableLocalVideoFlip',
'disableSimulcast', 'disableNS',
'disableThirdPartyRequests', 'disableProfile',
'disableTileView', 'disableRemoteControl',
'displayJids', 'disableRemoteMute',
'doNotStoreRoom', 'disableRtx',
'e2eping', 'disableShortcuts',
'enableDisplayNameInStats', 'disableSimulcast',
'enableEmailInStats', 'disableThirdPartyRequests',
'enableIceRestart', 'disableTileView',
'enableInsecureRoomNameWarning', 'displayJids',
'enableLayerSuspension', 'doNotStoreRoom',
'enableLipSync', 'e2eping',
'enableOpusRed', 'enableDisplayNameInStats',
'enableRemb', 'enableEmailInStats',
'enableScreenshotCapture', 'enableIceRestart',
'enableTalkWhileMuted', 'enableInsecureRoomNameWarning',
'enableNoAudioDetection', 'enableLayerSuspension',
'enableNoisyMicDetection', 'enableLipSync',
'enableTcc', 'enableOpusRed',
'enableAutomaticUrlCopy', 'enableRemb',
'etherpad_base', 'enableScreenshotCapture',
'failICE', 'enableTalkWhileMuted',
'feedbackPercentage', 'enableNoAudioDetection',
'fileRecordingsEnabled', 'enableNoisyMicDetection',
'firefox_fake_device', 'enableTcc',
'forceJVB121Ratio', 'enableAutomaticUrlCopy',
'forceTurnRelay', 'etherpad_base',
'gatherStats', 'failICE',
'googleApiApplicationClientID', 'feedbackPercentage',
'hideConferenceSubject', 'fileRecordingsEnabled',
'hideParticipantsStats', 'firefox_fake_device',
'hideConferenceTimer', 'forceJVB121Ratio',
'hiddenDomain', 'forceTurnRelay',
'hideLobbyButton', 'gatherStats',
'hosts', 'googleApiApplicationClientID',
'iAmRecorder', 'hideConferenceSubject',
'iAmSipGateway', 'hideParticipantsStats',
'iceTransportPolicy', 'hideConferenceTimer',
'ignoreStartMuted', 'hiddenDomain',
'liveStreamingEnabled', 'hideLobbyButton',
'localRecording', 'hosts',
'maxFullResolutionParticipants', 'iAmRecorder',
'notifications', 'iAmSipGateway',
'openBridgeChannel', 'iceTransportPolicy',
'openSharedDocumentOnJoin', 'ignoreStartMuted',
'opusMaxAverageBitrate', 'liveStreamingEnabled',
'p2p', 'localRecording',
'pcStatsInterval', 'maxFullResolutionParticipants',
'preferH264', 'notifications',
'prejoinPageEnabled', 'openBridgeChannel',
'requireDisplayName', 'openSharedDocumentOnJoin',
'remoteVideoMenu', 'opusMaxAverageBitrate',
'roomPasswordNumberOfDigits', 'p2p',
'resolution', 'pcStatsInterval',
'startAudioMuted', 'preferH264',
'startAudioOnly', 'prejoinPageEnabled',
'startScreenSharing', 'requireDisplayName',
'startSilent', 'remoteVideoMenu',
'startVideoMuted', 'roomPasswordNumberOfDigits',
'startWithAudioMuted', 'resolution',
'startWithVideoMuted', 'startAudioMuted',
'stereo', 'startAudioOnly',
'subject', 'startScreenSharing',
'testing', 'startSilent',
'useTurnUdp', 'startVideoMuted',
'videoQuality.persist', 'startWithAudioMuted',
'webrtcIceTcpDisable', 'startWithVideoMuted',
'webrtcIceUdpDisable' 'stereo',
].concat(extraConfigWhitelist); 'subject',
'testing',
'useTurnUdp',
``` 'videoQuality.persist',
'webrtcIceTcpDisable',
'webrtcIceUdpDisable'
].concat(extraConfigWhitelist);
```