|
@@ -0,0 +1,854 @@
|
|
1
|
+/* eslint-disable no-unused-vars, no-var */
|
|
2
|
+
|
|
3
|
+var config = {
|
|
4
|
+ // Connection
|
|
5
|
+ //
|
|
6
|
+
|
|
7
|
+ hosts: {
|
|
8
|
+ // XMPP domain.
|
|
9
|
+ domain: '{{ jitsi_domain }}',
|
|
10
|
+ anonymousdomain: 'guest.{{ jitsi_domain }}',
|
|
11
|
+
|
|
12
|
+ // When using authentication, domain for guest users.
|
|
13
|
+ // anonymousdomain: 'guest.example.com',
|
|
14
|
+
|
|
15
|
+ // Domain for authenticated users. Defaults to <domain>.
|
|
16
|
+ // authdomain: '{{ jitsi_domain }}',
|
|
17
|
+
|
|
18
|
+ // Focus component domain. Defaults to focus.<domain>.
|
|
19
|
+ // focus: 'focus.{{ jitsi_domain }}',
|
|
20
|
+
|
|
21
|
+ // XMPP MUC domain. FIXME: use XEP-0030 to discover it.
|
|
22
|
+ muc: 'conference.{{ jitsi_domain }}'
|
|
23
|
+ },
|
|
24
|
+
|
|
25
|
+ // BOSH URL. FIXME: use XEP-0156 to discover it.
|
|
26
|
+ bosh: '//{{ jitsi_domain }}/http-bind',
|
|
27
|
+
|
|
28
|
+ // Websocket URL
|
|
29
|
+ // websocket: 'wss://{{ jitsi_domain }}/xmpp-websocket',
|
|
30
|
+
|
|
31
|
+ // The name of client node advertised in XEP-0115 'c' stanza
|
|
32
|
+ clientNode: 'http://jitsi.org/jitsimeet',
|
|
33
|
+
|
|
34
|
+ // The real JID of focus participant - can be overridden here
|
|
35
|
+ // Do not change username - FIXME: Make focus username configurable
|
|
36
|
+ // https://github.com/jitsi/jitsi-meet/issues/7376
|
|
37
|
+ // focusUserJid: 'focus@auth.{{ jitsi_domain }}',
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+ // Testing / experimental features.
|
|
41
|
+ //
|
|
42
|
+
|
|
43
|
+ testing: {
|
|
44
|
+ // Disables the End to End Encryption feature. Useful for debugging
|
|
45
|
+ // issues related to insertable streams.
|
|
46
|
+ // disableE2EE: false,
|
|
47
|
+
|
|
48
|
+ // P2P test mode disables automatic switching to P2P when there are 2
|
|
49
|
+ // participants in the conference.
|
|
50
|
+ p2pTestMode: false
|
|
51
|
+
|
|
52
|
+ // Enables the test specific features consumed by jitsi-meet-torture
|
|
53
|
+ // testMode: false
|
|
54
|
+
|
|
55
|
+ // Disables the auto-play behavior of *all* newly created video element.
|
|
56
|
+ // This is useful when the client runs on a host with limited resources.
|
|
57
|
+ // noAutoPlayVideo: false
|
|
58
|
+
|
|
59
|
+ // Enable / disable 500 Kbps bitrate cap on desktop tracks. When enabled,
|
|
60
|
+ // simulcast is turned off for the desktop share. If presenter is turned
|
|
61
|
+ // on while screensharing is in progress, the max bitrate is automatically
|
|
62
|
+ // adjusted to 2.5 Mbps. This takes a value between 0 and 1 which determines
|
|
63
|
+ // the probability for this to be enabled. This setting has been deprecated.
|
|
64
|
+ // desktopSharingFrameRate.max now determines whether simulcast will be enabled
|
|
65
|
+ // or disabled for the screenshare.
|
|
66
|
+ // capScreenshareBitrate: 1 // 0 to disable - deprecated.
|
|
67
|
+
|
|
68
|
+ // Enable callstats only for a percentage of users.
|
|
69
|
+ // This takes a value between 0 and 100 which determines the probability for
|
|
70
|
+ // the callstats to be enabled.
|
|
71
|
+ // callStatsThreshold: 5 // enable callstats for 5% of the users.
|
|
72
|
+ },
|
|
73
|
+
|
|
74
|
+ // Disables ICE/UDP by filtering out local and remote UDP candidates in
|
|
75
|
+ // signalling.
|
|
76
|
+ // webrtcIceUdpDisable: false,
|
|
77
|
+
|
|
78
|
+ // Disables ICE/TCP by filtering out local and remote TCP candidates in
|
|
79
|
+ // signalling.
|
|
80
|
+ // webrtcIceTcpDisable: false,
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+ // Media
|
|
84
|
+ //
|
|
85
|
+
|
|
86
|
+ // Audio
|
|
87
|
+
|
|
88
|
+ // Disable measuring of audio levels.
|
|
89
|
+ // disableAudioLevels: false,
|
|
90
|
+ // audioLevelsInterval: 200,
|
|
91
|
+
|
|
92
|
+ // Enabling this will run the lib-jitsi-meet no audio detection module which
|
|
93
|
+ // will notify the user if the current selected microphone has no audio
|
|
94
|
+ // input and will suggest another valid device if one is present.
|
|
95
|
+ enableNoAudioDetection: true,
|
|
96
|
+
|
|
97
|
+ // Enabling this will show a "Save Logs" link in the GSM popover that can be
|
|
98
|
+ // used to collect debug information (XMPP IQs, SDP offer/answer cycles)
|
|
99
|
+ // about the call.
|
|
100
|
+ // enableSaveLogs: false,
|
|
101
|
+
|
|
102
|
+ // Enabling this will run the lib-jitsi-meet noise detection module which will
|
|
103
|
+ // notify the user if there is noise, other than voice, coming from the current
|
|
104
|
+ // selected microphone. The purpose it to let the user know that the input could
|
|
105
|
+ // be potentially unpleasant for other meeting participants.
|
|
106
|
+ enableNoisyMicDetection: true,
|
|
107
|
+
|
|
108
|
+ // Start the conference in audio only mode (no video is being received nor
|
|
109
|
+ // sent).
|
|
110
|
+ // startAudioOnly: false,
|
|
111
|
+
|
|
112
|
+ // Every participant after the Nth will start audio muted.
|
|
113
|
+ // startAudioMuted: 10,
|
|
114
|
+
|
|
115
|
+ // Start calls with audio muted. Unlike the option above, this one is only
|
|
116
|
+ // applied locally. FIXME: having these 2 options is confusing.
|
|
117
|
+ // startWithAudioMuted: false,
|
|
118
|
+
|
|
119
|
+ // Enabling it (with #params) will disable local audio output of remote
|
|
120
|
+ // participants and to enable it back a reload is needed.
|
|
121
|
+ // startSilent: false
|
|
122
|
+
|
|
123
|
+ // Enables support for opus-red (redundancy for Opus).
|
|
124
|
+ // enableOpusRed: false,
|
|
125
|
+
|
|
126
|
+ // Specify audio quality stereo and opusMaxAverageBitrate values in order to enable HD audio.
|
|
127
|
+ // Beware, by doing so, you are disabling echo cancellation, noise suppression and AGC.
|
|
128
|
+ // audioQuality: {
|
|
129
|
+ // stereo: false,
|
|
130
|
+ // opusMaxAverageBitrate: null // Value to fit the 6000 to 510000 range.
|
|
131
|
+ // },
|
|
132
|
+
|
|
133
|
+ // Video
|
|
134
|
+
|
|
135
|
+ // Sets the preferred resolution (height) for local video. Defaults to 720.
|
|
136
|
+ // resolution: 720,
|
|
137
|
+
|
|
138
|
+ // How many participants while in the tile view mode, before the receiving video quality is reduced from HD to SD.
|
|
139
|
+ // Use -1 to disable.
|
|
140
|
+ // maxFullResolutionParticipants: 2,
|
|
141
|
+
|
|
142
|
+ // w3c spec-compliant video constraints to use for video capture. Currently
|
|
143
|
+ // used by browsers that return true from lib-jitsi-meet's
|
|
144
|
+ // util#browser#usesNewGumFlow. The constraints are independent from
|
|
145
|
+ // this config's resolution value. Defaults to requesting an ideal
|
|
146
|
+ // resolution of 720p.
|
|
147
|
+ // constraints: {
|
|
148
|
+ // video: {
|
|
149
|
+ // height: {
|
|
150
|
+ // ideal: 720,
|
|
151
|
+ // max: 720,
|
|
152
|
+ // min: 240
|
|
153
|
+ // }
|
|
154
|
+ // }
|
|
155
|
+ // },
|
|
156
|
+
|
|
157
|
+ // Enable / disable simulcast support.
|
|
158
|
+ // disableSimulcast: false,
|
|
159
|
+
|
|
160
|
+ // Enable / disable layer suspension. If enabled, endpoints whose HD
|
|
161
|
+ // layers are not in use will be suspended (no longer sent) until they
|
|
162
|
+ // are requested again.
|
|
163
|
+ // enableLayerSuspension: false,
|
|
164
|
+
|
|
165
|
+ // Every participant after the Nth will start video muted.
|
|
166
|
+ // startVideoMuted: 10,
|
|
167
|
+
|
|
168
|
+ // Start calls with video muted. Unlike the option above, this one is only
|
|
169
|
+ // applied locally. FIXME: having these 2 options is confusing.
|
|
170
|
+ // startWithVideoMuted: false,
|
|
171
|
+
|
|
172
|
+ // If set to true, prefer to use the H.264 video codec (if supported).
|
|
173
|
+ // Note that it's not recommended to do this because simulcast is not
|
|
174
|
+ // supported when using H.264. For 1-to-1 calls this setting is enabled by
|
|
175
|
+ // default and can be toggled in the p2p section.
|
|
176
|
+ // This option has been deprecated, use preferredCodec under videoQuality section instead.
|
|
177
|
+ // preferH264: true,
|
|
178
|
+
|
|
179
|
+ // If set to true, disable H.264 video codec by stripping it out of the
|
|
180
|
+ // SDP.
|
|
181
|
+ // disableH264: false,
|
|
182
|
+
|
|
183
|
+ // Desktop sharing
|
|
184
|
+
|
|
185
|
+ // Optional desktop sharing frame rate options. Default value: min:5, max:5.
|
|
186
|
+ // desktopSharingFrameRate: {
|
|
187
|
+ // min: 5,
|
|
188
|
+ // max: 5
|
|
189
|
+ // },
|
|
190
|
+
|
|
191
|
+ // Try to start calls with screen-sharing instead of camera video.
|
|
192
|
+ // startScreenSharing: false,
|
|
193
|
+
|
|
194
|
+ // Recording
|
|
195
|
+
|
|
196
|
+ // Whether to enable file recording or not.
|
|
197
|
+ // fileRecordingsEnabled: false,
|
|
198
|
+ // Enable the dropbox integration.
|
|
199
|
+ // dropbox: {
|
|
200
|
+ // appKey: '<APP_KEY>' // Specify your app key here.
|
|
201
|
+ // // A URL to redirect the user to, after authenticating
|
|
202
|
+ // // by default uses:
|
|
203
|
+ // // 'https://{{ jitsi_domain }}/static/oauth.html'
|
|
204
|
+ // redirectURI:
|
|
205
|
+ // 'https://{{ jitsi_domain }}/subfolder/static/oauth.html'
|
|
206
|
+ // },
|
|
207
|
+ // When integrations like dropbox are enabled only that will be shown,
|
|
208
|
+ // by enabling fileRecordingsServiceEnabled, we show both the integrations
|
|
209
|
+ // and the generic recording service (its configuration and storage type
|
|
210
|
+ // depends on jibri configuration)
|
|
211
|
+ // fileRecordingsServiceEnabled: false,
|
|
212
|
+ // Whether to show the possibility to share file recording with other people
|
|
213
|
+ // (e.g. meeting participants), based on the actual implementation
|
|
214
|
+ // on the backend.
|
|
215
|
+ // fileRecordingsServiceSharingEnabled: false,
|
|
216
|
+
|
|
217
|
+ // Whether to enable live streaming or not.
|
|
218
|
+ // liveStreamingEnabled: false,
|
|
219
|
+
|
|
220
|
+ // Transcription (in interface_config,
|
|
221
|
+ // subtitles and buttons can be configured)
|
|
222
|
+ // transcribingEnabled: false,
|
|
223
|
+
|
|
224
|
+ // Enables automatic turning on captions when recording is started
|
|
225
|
+ // autoCaptionOnRecord: false,
|
|
226
|
+
|
|
227
|
+ // Misc
|
|
228
|
+
|
|
229
|
+ // Default value for the channel "last N" attribute. -1 for unlimited.
|
|
230
|
+ channelLastN: -1,
|
|
231
|
+
|
|
232
|
+ // Provides a way for the lastN value to be controlled through the UI.
|
|
233
|
+ // When startLastN is present, conference starts with a last-n value of startLastN and channelLastN
|
|
234
|
+ // value will be used when the quality level is selected using "Manage Video Quality" slider.
|
|
235
|
+ // startLastN: 1,
|
|
236
|
+
|
|
237
|
+ // Provides a way to use different "last N" values based on the number of participants in the conference.
|
|
238
|
+ // The keys in an Object represent number of participants and the values are "last N" to be used when number of
|
|
239
|
+ // participants gets to or above the number.
|
|
240
|
+ //
|
|
241
|
+ // For the given example mapping, "last N" will be set to 20 as long as there are at least 5, but less than
|
|
242
|
+ // 29 participants in the call and it will be lowered to 15 when the 30th participant joins. The 'channelLastN'
|
|
243
|
+ // will be used as default until the first threshold is reached.
|
|
244
|
+ //
|
|
245
|
+ // lastNLimits: {
|
|
246
|
+ // 5: 20,
|
|
247
|
+ // 30: 15,
|
|
248
|
+ // 50: 10,
|
|
249
|
+ // 70: 5,
|
|
250
|
+ // 90: 2
|
|
251
|
+ // },
|
|
252
|
+
|
|
253
|
+ // Provides a way to translate the legacy bridge signaling messages, 'LastNChangedEvent',
|
|
254
|
+ // 'SelectedEndpointsChangedEvent' and 'ReceiverVideoConstraint' into the new 'ReceiverVideoConstraints' message
|
|
255
|
+ // that invokes the new bandwidth allocation algorithm in the bridge which is described here
|
|
256
|
+ // - https://github.com/jitsi/jitsi-videobridge/blob/master/doc/allocation.md.
|
|
257
|
+ // useNewBandwidthAllocationStrategy: false,
|
|
258
|
+
|
|
259
|
+ // Specify the settings for video quality optimizations on the client.
|
|
260
|
+ // videoQuality: {
|
|
261
|
+ // // Provides a way to prevent a video codec from being negotiated on the JVB connection. The codec specified
|
|
262
|
+ // // here will be removed from the list of codecs present in the SDP answer generated by the client. If the
|
|
263
|
+ // // same codec is specified for both the disabled and preferred option, the disable settings will prevail.
|
|
264
|
+ // // Note that 'VP8' cannot be disabled since it's a mandatory codec, the setting will be ignored in this case.
|
|
265
|
+ // disabledCodec: 'H264',
|
|
266
|
+ //
|
|
267
|
+ // // Provides a way to set a preferred video codec for the JVB connection. If 'H264' is specified here,
|
|
268
|
+ // // simulcast will be automatically disabled since JVB doesn't support H264 simulcast yet. This will only
|
|
269
|
+ // // rearrange the the preference order of the codecs in the SDP answer generated by the browser only if the
|
|
270
|
+ // // preferred codec specified here is present. Please ensure that the JVB offers the specified codec for this
|
|
271
|
+ // // to take effect.
|
|
272
|
+ // preferredCodec: 'VP8',
|
|
273
|
+ //
|
|
274
|
+ // // Provides a way to enforce the preferred codec for the conference even when the conference has endpoints
|
|
275
|
+ // // that do not support the preferred codec. For example, older versions of Safari do not support VP9 yet.
|
|
276
|
+ // // This will result in Safari not being able to decode video from endpoints sending VP9 video.
|
|
277
|
+ // // When set to false, the conference falls back to VP8 whenever there is an endpoint that doesn't support the
|
|
278
|
+ // // preferred codec and goes back to the preferred codec when that endpoint leaves.
|
|
279
|
+ // // enforcePreferredCodec: false,
|
|
280
|
+ //
|
|
281
|
+ // // Provides a way to configure the maximum bitrates that will be enforced on the simulcast streams for
|
|
282
|
+ // // video tracks. The keys in the object represent the type of the stream (LD, SD or HD) and the values
|
|
283
|
+ // // are the max.bitrates to be set on that particular type of stream. The actual send may vary based on
|
|
284
|
+ // // the available bandwidth calculated by the browser, but it will be capped by the values specified here.
|
|
285
|
+ // // This is currently not implemented on app based clients on mobile.
|
|
286
|
+ // maxBitratesVideo: {
|
|
287
|
+ // H264: {
|
|
288
|
+ // low: 200000,
|
|
289
|
+ // standard: 500000,
|
|
290
|
+ // high: 1500000
|
|
291
|
+ // },
|
|
292
|
+ // VP8 : {
|
|
293
|
+ // low: 200000,
|
|
294
|
+ // standard: 500000,
|
|
295
|
+ // high: 1500000
|
|
296
|
+ // },
|
|
297
|
+ // VP9: {
|
|
298
|
+ // low: 100000,
|
|
299
|
+ // standard: 300000,
|
|
300
|
+ // high: 1200000
|
|
301
|
+ // }
|
|
302
|
+ // },
|
|
303
|
+ //
|
|
304
|
+ // // The options can be used to override default thresholds of video thumbnail heights corresponding to
|
|
305
|
+ // // the video quality levels used in the application. At the time of this writing the allowed levels are:
|
|
306
|
+ // // 'low' - for the low quality level (180p at the time of this writing)
|
|
307
|
+ // // 'standard' - for the medium quality level (360p)
|
|
308
|
+ // // 'high' - for the high quality level (720p)
|
|
309
|
+ // // The keys should be positive numbers which represent the minimal thumbnail height for the quality level.
|
|
310
|
+ // //
|
|
311
|
+ // // With the default config value below the application will use 'low' quality until the thumbnails are
|
|
312
|
+ // // at least 360 pixels tall. If the thumbnail height reaches 720 pixels then the application will switch to
|
|
313
|
+ // // the high quality.
|
|
314
|
+ // minHeightForQualityLvl: {
|
|
315
|
+ // 360: 'standard',
|
|
316
|
+ // 720: 'high'
|
|
317
|
+ // },
|
|
318
|
+ //
|
|
319
|
+ // // Provides a way to resize the desktop track to 720p (if it is greater than 720p) before creating a canvas
|
|
320
|
+ // // for the presenter mode (camera picture-in-picture mode with screenshare).
|
|
321
|
+ // resizeDesktopForPresenter: false
|
|
322
|
+ // },
|
|
323
|
+
|
|
324
|
+ // // Options for the recording limit notification.
|
|
325
|
+ // recordingLimit: {
|
|
326
|
+ //
|
|
327
|
+ // // The recording limit in minutes. Note: This number appears in the notification text
|
|
328
|
+ // // but doesn't enforce the actual recording time limit. This should be configured in
|
|
329
|
+ // // jibri!
|
|
330
|
+ // limit: 60,
|
|
331
|
+ //
|
|
332
|
+ // // The name of the app with unlimited recordings.
|
|
333
|
+ // appName: 'Unlimited recordings APP',
|
|
334
|
+ //
|
|
335
|
+ // // The URL of the app with unlimited recordings.
|
|
336
|
+ // appURL: 'https://unlimited.recordings.app.com/'
|
|
337
|
+ // },
|
|
338
|
+
|
|
339
|
+ // Disables or enables RTX (RFC 4588) (defaults to false).
|
|
340
|
+ // disableRtx: false,
|
|
341
|
+
|
|
342
|
+ // Disables or enables TCC support in this client (default: enabled).
|
|
343
|
+ // enableTcc: true,
|
|
344
|
+
|
|
345
|
+ // Disables or enables REMB support in this client (default: enabled).
|
|
346
|
+ // enableRemb: true,
|
|
347
|
+
|
|
348
|
+ // Enables ICE restart logic in LJM and displays the page reload overlay on
|
|
349
|
+ // ICE failure. Current disabled by default because it's causing issues with
|
|
350
|
+ // signaling when Octo is enabled. Also when we do an "ICE restart"(which is
|
|
351
|
+ // not a real ICE restart), the client maintains the TCC sequence number
|
|
352
|
+ // counter, but the bridge resets it. The bridge sends media packets with
|
|
353
|
+ // TCC sequence numbers starting from 0.
|
|
354
|
+ // enableIceRestart: false,
|
|
355
|
+
|
|
356
|
+ // Enables forced reload of the client when the call is migrated as a result of
|
|
357
|
+ // the bridge going down.
|
|
358
|
+ // enableForcedReload: true,
|
|
359
|
+
|
|
360
|
+ // Use TURN/UDP servers for the jitsi-videobridge connection (by default
|
|
361
|
+ // we filter out TURN/UDP because it is usually not needed since the
|
|
362
|
+ // bridge itself is reachable via UDP)
|
|
363
|
+ // useTurnUdp: false
|
|
364
|
+
|
|
365
|
+ // UI
|
|
366
|
+ //
|
|
367
|
+
|
|
368
|
+ // Disables responsive tiles.
|
|
369
|
+ // disableResponsiveTiles: false,
|
|
370
|
+
|
|
371
|
+ // Hides lobby button
|
|
372
|
+ // hideLobbyButton: false,
|
|
373
|
+
|
|
374
|
+ // Require users to always specify a display name.
|
|
375
|
+ // requireDisplayName: true,
|
|
376
|
+
|
|
377
|
+ // Whether to use a welcome page or not. In case it's false a random room
|
|
378
|
+ // will be joined when no room is specified.
|
|
379
|
+ enableWelcomePage: true,
|
|
380
|
+
|
|
381
|
+ // Disable app shortcuts that are registered upon joining a conference
|
|
382
|
+ // disableShortcuts: false,
|
|
383
|
+
|
|
384
|
+ // Disable initial browser getUserMedia requests.
|
|
385
|
+ // This is useful for scenarios where users might want to start a conference for screensharing only
|
|
386
|
+ // disableInitialGUM: false,
|
|
387
|
+
|
|
388
|
+ // Enabling the close page will ignore the welcome page redirection when
|
|
389
|
+ // a call is hangup.
|
|
390
|
+ // enableClosePage: false,
|
|
391
|
+
|
|
392
|
+ // Disable hiding of remote thumbnails when in a 1-on-1 conference call.
|
|
393
|
+ // disable1On1Mode: false,
|
|
394
|
+
|
|
395
|
+ // Default language for the user interface.
|
|
396
|
+ // defaultLanguage: 'en',
|
|
397
|
+
|
|
398
|
+ // Disables profile and the edit of all fields from the profile settings (display name and email)
|
|
399
|
+ // disableProfile: false,
|
|
400
|
+
|
|
401
|
+ // Whether or not some features are checked based on token.
|
|
402
|
+ // enableFeaturesBasedOnToken: false,
|
|
403
|
+
|
|
404
|
+ // When enabled the password used for locking a room is restricted to up to the number of digits specified
|
|
405
|
+ // roomPasswordNumberOfDigits: 10,
|
|
406
|
+ // default: roomPasswordNumberOfDigits: false,
|
|
407
|
+
|
|
408
|
+ // Message to show the users. Example: 'The service will be down for
|
|
409
|
+ // maintenance at 01:00 AM GMT,
|
|
410
|
+ // noticeMessage: '',
|
|
411
|
+
|
|
412
|
+ // Enables calendar integration, depends on googleApiApplicationClientID
|
|
413
|
+ // and microsoftApiApplicationClientID
|
|
414
|
+ // enableCalendarIntegration: false,
|
|
415
|
+
|
|
416
|
+ // When 'true', it shows an intermediate page before joining, where the user can configure their devices.
|
|
417
|
+ // prejoinPageEnabled: false,
|
|
418
|
+
|
|
419
|
+ // If etherpad integration is enabled, setting this to true will
|
|
420
|
+ // automatically open the etherpad when a participant joins. This
|
|
421
|
+ // does not affect the mobile app since opening an etherpad
|
|
422
|
+ // obscures the conference controls -- it's better to let users
|
|
423
|
+ // choose to open the pad on their own in that case.
|
|
424
|
+ // openSharedDocumentOnJoin: false,
|
|
425
|
+
|
|
426
|
+ // If true, shows the unsafe room name warning label when a room name is
|
|
427
|
+ // deemed unsafe (due to the simplicity in the name) and a password is not
|
|
428
|
+ // set or the lobby is not enabled.
|
|
429
|
+ // enableInsecureRoomNameWarning: false,
|
|
430
|
+
|
|
431
|
+ // Whether to automatically copy invitation URL after creating a room.
|
|
432
|
+ // Document should be focused for this option to work
|
|
433
|
+ // enableAutomaticUrlCopy: false,
|
|
434
|
+
|
|
435
|
+ // Base URL for a Gravatar-compatible service. Defaults to libravatar.
|
|
436
|
+ // gravatarBaseURL: 'https://seccdn.libravatar.org/avatar/',
|
|
437
|
+
|
|
438
|
+ // Moved from interfaceConfig(TOOLBAR_BUTTONS).
|
|
439
|
+ // The name of the toolbar buttons to display in the toolbar, including the
|
|
440
|
+ // "More actions" menu. If present, the button will display. Exceptions are
|
|
441
|
+ // "livestreaming" and "recording" which also require being a moderator and
|
|
442
|
+ // some other values in config.js to be enabled. Also, the "profile" button will
|
|
443
|
+ // not display for users with a JWT.
|
|
444
|
+ // Notes:
|
|
445
|
+ // - it's impossible to choose which buttons go in the "More actions" menu
|
|
446
|
+ // - it's impossible to control the placement of buttons
|
|
447
|
+ // - 'desktop' controls the "Share your screen" button
|
|
448
|
+ // - if `toolbarButtons` is undefined, we fallback to enabling all buttons on the UI
|
|
449
|
+ // toolbarButtons: [
|
|
450
|
+ // 'microphone', 'camera', 'closedcaptions', 'desktop', 'embedmeeting', 'fullscreen',
|
|
451
|
+ // 'fodeviceselection', 'hangup', 'profile', 'chat', 'recording',
|
|
452
|
+ // 'livestreaming', 'etherpad', 'sharedvideo', 'shareaudio', 'settings', 'raisehand',
|
|
453
|
+ // 'videoquality', 'filmstrip', 'invite', 'feedback', 'stats', 'shortcuts',
|
|
454
|
+ // 'tileview', 'select-background', 'download', 'help', 'mute-everyone', 'mute-video-everyone', 'security'
|
|
455
|
+ // ],
|
|
456
|
+
|
|
457
|
+ // Stats
|
|
458
|
+ //
|
|
459
|
+
|
|
460
|
+ // Whether to enable stats collection or not in the TraceablePeerConnection.
|
|
461
|
+ // This can be useful for debugging purposes (post-processing/analysis of
|
|
462
|
+ // the webrtc stats) as it is done in the jitsi-meet-torture bandwidth
|
|
463
|
+ // estimation tests.
|
|
464
|
+ // gatherStats: false,
|
|
465
|
+
|
|
466
|
+ // The interval at which PeerConnection.getStats() is called. Defaults to 10000
|
|
467
|
+ // pcStatsInterval: 10000,
|
|
468
|
+
|
|
469
|
+ // To enable sending statistics to callstats.io you must provide the
|
|
470
|
+ // Application ID and Secret.
|
|
471
|
+ // callStatsID: '',
|
|
472
|
+ // callStatsSecret: '',
|
|
473
|
+
|
|
474
|
+ // Enables sending participants' display names to callstats
|
|
475
|
+ // enableDisplayNameInStats: false,
|
|
476
|
+
|
|
477
|
+ // Enables sending participants' emails (if available) to callstats and other analytics
|
|
478
|
+ // enableEmailInStats: false,
|
|
479
|
+
|
|
480
|
+ // Controls the percentage of automatic feedback shown to participants when callstats is enabled.
|
|
481
|
+ // The default value is 100%. If set to 0, no automatic feedback will be requested
|
|
482
|
+ // feedbackPercentage: 100,
|
|
483
|
+
|
|
484
|
+ // Privacy
|
|
485
|
+ //
|
|
486
|
+
|
|
487
|
+ // If third party requests are disabled, no other server will be contacted.
|
|
488
|
+ // This means avatars will be locally generated and callstats integration
|
|
489
|
+ // will not function.
|
|
490
|
+ // disableThirdPartyRequests: false,
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+ // Peer-To-Peer mode: used (if enabled) when there are just 2 participants.
|
|
494
|
+ //
|
|
495
|
+
|
|
496
|
+ p2p: {
|
|
497
|
+ // Enables peer to peer mode. When enabled the system will try to
|
|
498
|
+ // establish a direct connection when there are exactly 2 participants
|
|
499
|
+ // in the room. If that succeeds the conference will stop sending data
|
|
500
|
+ // through the JVB and use the peer to peer connection instead. When a
|
|
501
|
+ // 3rd participant joins the conference will be moved back to the JVB
|
|
502
|
+ // connection.
|
|
503
|
+ enabled: true,
|
|
504
|
+
|
|
505
|
+ // Sets the ICE transport policy for the p2p connection. At the time
|
|
506
|
+ // of this writing the list of possible values are 'all' and 'relay',
|
|
507
|
+ // but that is subject to change in the future. The enum is defined in
|
|
508
|
+ // the WebRTC standard:
|
|
509
|
+ // https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum.
|
|
510
|
+ // If not set, the effective value is 'all'.
|
|
511
|
+ // iceTransportPolicy: 'all',
|
|
512
|
+
|
|
513
|
+ // If set to true, it will prefer to use H.264 for P2P calls (if H.264
|
|
514
|
+ // is supported). This setting is deprecated, use preferredCodec instead.
|
|
515
|
+ // preferH264: true,
|
|
516
|
+
|
|
517
|
+ // Provides a way to set the video codec preference on the p2p connection. Acceptable
|
|
518
|
+ // codec values are 'VP8', 'VP9' and 'H264'.
|
|
519
|
+ // preferredCodec: 'H264',
|
|
520
|
+
|
|
521
|
+ // If set to true, disable H.264 video codec by stripping it out of the
|
|
522
|
+ // SDP. This setting is deprecated, use disabledCodec instead.
|
|
523
|
+ // disableH264: false,
|
|
524
|
+
|
|
525
|
+ // Provides a way to prevent a video codec from being negotiated on the p2p connection.
|
|
526
|
+ // disabledCodec: '',
|
|
527
|
+
|
|
528
|
+ // How long we're going to wait, before going back to P2P after the 3rd
|
|
529
|
+ // participant has left the conference (to filter out page reload).
|
|
530
|
+ // backToP2PDelay: 5,
|
|
531
|
+
|
|
532
|
+ // The STUN servers that will be used in the peer to peer connections
|
|
533
|
+ stunServers: [
|
|
534
|
+
|
|
535
|
+ // { urls: 'stun:{{ jitsi_domain }}:3478' },
|
|
536
|
+ { urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' }
|
|
537
|
+ ]
|
|
538
|
+ },
|
|
539
|
+
|
|
540
|
+ analytics: {
|
|
541
|
+ // The Google Analytics Tracking ID:
|
|
542
|
+ // googleAnalyticsTrackingId: 'your-tracking-id-UA-123456-1'
|
|
543
|
+
|
|
544
|
+ // Matomo configuration:
|
|
545
|
+ // matomoEndpoint: 'https://your-matomo-endpoint/',
|
|
546
|
+ // matomoSiteID: '42',
|
|
547
|
+
|
|
548
|
+ // The Amplitude APP Key:
|
|
549
|
+ // amplitudeAPPKey: '<APP_KEY>'
|
|
550
|
+
|
|
551
|
+ // Configuration for the rtcstats server:
|
|
552
|
+ // By enabling rtcstats server every time a conference is joined the rtcstats
|
|
553
|
+ // module connects to the provided rtcstatsEndpoint and sends statistics regarding
|
|
554
|
+ // PeerConnection states along with getStats metrics polled at the specified
|
|
555
|
+ // interval.
|
|
556
|
+ // rtcstatsEnabled: true,
|
|
557
|
+
|
|
558
|
+ // In order to enable rtcstats one needs to provide a endpoint url.
|
|
559
|
+ // rtcstatsEndpoint: wss://rtcstats-server-pilot.jitsi.net/,
|
|
560
|
+
|
|
561
|
+ // The interval at which rtcstats will poll getStats, defaults to 1000ms.
|
|
562
|
+ // If the value is set to 0 getStats won't be polled and the rtcstats client
|
|
563
|
+ // will only send data related to RTCPeerConnection events.
|
|
564
|
+ // rtcstatsPolIInterval: 1000,
|
|
565
|
+
|
|
566
|
+ // Array of script URLs to load as lib-jitsi-meet "analytics handlers".
|
|
567
|
+ // scriptURLs: [
|
|
568
|
+ // "libs/analytics-ga.min.js", // google-analytics
|
|
569
|
+ // "https://example.com/my-custom-analytics.js"
|
|
570
|
+ // ],
|
|
571
|
+ },
|
|
572
|
+
|
|
573
|
+ // Logs that should go be passed through the 'log' event if a handler is defined for it
|
|
574
|
+ // apiLogLevels: ['warn', 'log', 'error', 'info', 'debug'],
|
|
575
|
+
|
|
576
|
+ // Information about the jitsi-meet instance we are connecting to, including
|
|
577
|
+ // the user region as seen by the server.
|
|
578
|
+ deploymentInfo: {
|
|
579
|
+ // shard: "shard1",
|
|
580
|
+ // region: "europe",
|
|
581
|
+ // userRegion: "asia"
|
|
582
|
+ },
|
|
583
|
+
|
|
584
|
+ // Decides whether the start/stop recording audio notifications should play on record.
|
|
585
|
+ // disableRecordAudioNotification: false,
|
|
586
|
+
|
|
587
|
+ // Disables the sounds that play when other participants join or leave the
|
|
588
|
+ // conference (if set to true, these sounds will not be played).
|
|
589
|
+ // disableJoinLeaveSounds: false,
|
|
590
|
+
|
|
591
|
+ // Information for the chrome extension banner
|
|
592
|
+ // chromeExtensionBanner: {
|
|
593
|
+ // // The chrome extension to be installed address
|
|
594
|
+ // url: 'https://chrome.google.com/webstore/detail/jitsi-meetings/kglhbbefdnlheedjiejgomgmfplipfeb',
|
|
595
|
+
|
|
596
|
+ // // Extensions info which allows checking if they are installed or not
|
|
597
|
+ // chromeExtensionsInfo: [
|
|
598
|
+ // {
|
|
599
|
+ // id: 'kglhbbefdnlheedjiejgomgmfplipfeb',
|
|
600
|
+ // path: 'jitsi-logo-48x48.png'
|
|
601
|
+ // }
|
|
602
|
+ // ]
|
|
603
|
+ // },
|
|
604
|
+
|
|
605
|
+ // Local Recording
|
|
606
|
+ //
|
|
607
|
+
|
|
608
|
+ // localRecording: {
|
|
609
|
+ // Enables local recording.
|
|
610
|
+ // Additionally, 'localrecording' (all lowercase) needs to be added to
|
|
611
|
+ // TOOLBAR_BUTTONS in interface_config.js for the Local Recording
|
|
612
|
+ // button to show up on the toolbar.
|
|
613
|
+ //
|
|
614
|
+ // enabled: true,
|
|
615
|
+ //
|
|
616
|
+
|
|
617
|
+ // The recording format, can be one of 'ogg', 'flac' or 'wav'.
|
|
618
|
+ // format: 'flac'
|
|
619
|
+ //
|
|
620
|
+
|
|
621
|
+ // },
|
|
622
|
+
|
|
623
|
+ // Options related to end-to-end (participant to participant) ping.
|
|
624
|
+ // e2eping: {
|
|
625
|
+ // // The interval in milliseconds at which pings will be sent.
|
|
626
|
+ // // Defaults to 10000, set to <= 0 to disable.
|
|
627
|
+ // pingInterval: 10000,
|
|
628
|
+ //
|
|
629
|
+ // // The interval in milliseconds at which analytics events
|
|
630
|
+ // // with the measured RTT will be sent. Defaults to 60000, set
|
|
631
|
+ // // to <= 0 to disable.
|
|
632
|
+ // analyticsInterval: 60000,
|
|
633
|
+ // },
|
|
634
|
+
|
|
635
|
+ // If set, will attempt to use the provided video input device label when
|
|
636
|
+ // triggering a screenshare, instead of proceeding through the normal flow
|
|
637
|
+ // for obtaining a desktop stream.
|
|
638
|
+ // NOTE: This option is experimental and is currently intended for internal
|
|
639
|
+ // use only.
|
|
640
|
+ // _desktopSharingSourceDevice: 'sample-id-or-label',
|
|
641
|
+
|
|
642
|
+ // If true, any checks to handoff to another application will be prevented
|
|
643
|
+ // and instead the app will continue to display in the current browser.
|
|
644
|
+ // disableDeepLinking: false,
|
|
645
|
+
|
|
646
|
+ // A property to disable the right click context menu for localVideo
|
|
647
|
+ // the menu has option to flip the locally seen video for local presentations
|
|
648
|
+ // disableLocalVideoFlip: false,
|
|
649
|
+
|
|
650
|
+ // A property used to unset the default flip state of the local video.
|
|
651
|
+ // When it is set to 'true', the local(self) video will not be mirrored anymore.
|
|
652
|
+ // doNotFlipLocalVideo: false,
|
|
653
|
+
|
|
654
|
+ // Mainly privacy related settings
|
|
655
|
+
|
|
656
|
+ // Disables all invite functions from the app (share, invite, dial out...etc)
|
|
657
|
+ // disableInviteFunctions: true,
|
|
658
|
+
|
|
659
|
+ // Disables storing the room name to the recents list
|
|
660
|
+ // doNotStoreRoom: true,
|
|
661
|
+
|
|
662
|
+ // Deployment specific URLs.
|
|
663
|
+ // deploymentUrls: {
|
|
664
|
+ // // If specified a 'Help' button will be displayed in the overflow menu with a link to the specified URL for
|
|
665
|
+ // // user documentation.
|
|
666
|
+ // userDocumentationURL: 'https://docs.example.com/video-meetings.html',
|
|
667
|
+ // // If specified a 'Download our apps' button will be displayed in the overflow menu with a link
|
|
668
|
+ // // to the specified URL for an app download page.
|
|
669
|
+ // downloadAppsUrl: 'https://docs.example.com/our-apps.html'
|
|
670
|
+ // },
|
|
671
|
+
|
|
672
|
+ // Options related to the remote participant menu.
|
|
673
|
+ // remoteVideoMenu: {
|
|
674
|
+ // // If set to true the 'Kick out' button will be disabled.
|
|
675
|
+ // disableKick: true,
|
|
676
|
+ // // If set to true the 'Grant moderator' button will be disabled.
|
|
677
|
+ // disableGrantModerator: true
|
|
678
|
+ // },
|
|
679
|
+
|
|
680
|
+ // If set to true all muting operations of remote participants will be disabled.
|
|
681
|
+ // disableRemoteMute: true,
|
|
682
|
+
|
|
683
|
+ // Enables support for lip-sync for this client (if the browser supports it).
|
|
684
|
+ // enableLipSync: false
|
|
685
|
+
|
|
686
|
+ /**
|
|
687
|
+ External API url used to receive branding specific information.
|
|
688
|
+ If there is no url set or there are missing fields, the defaults are applied.
|
|
689
|
+ None of the fields are mandatory and the response must have the shape:
|
|
690
|
+ {
|
|
691
|
+ // The hex value for the colour used as background
|
|
692
|
+ backgroundColor: '#fff',
|
|
693
|
+ // The url for the image used as background
|
|
694
|
+ backgroundImageUrl: 'https://example.com/background-img.png',
|
|
695
|
+ // The anchor url used when clicking the logo image
|
|
696
|
+ logoClickUrl: 'https://example-company.org',
|
|
697
|
+ // The url used for the image used as logo
|
|
698
|
+ logoImageUrl: 'https://example.com/logo-img.png'
|
|
699
|
+ }
|
|
700
|
+ */
|
|
701
|
+ // dynamicBrandingUrl: '',
|
|
702
|
+
|
|
703
|
+ // Sets the background transparency level. '0' is fully transparent, '1' is opaque.
|
|
704
|
+ // backgroundAlpha: 1,
|
|
705
|
+
|
|
706
|
+ // The URL of the moderated rooms microservice, if available. If it
|
|
707
|
+ // is present, a link to the service will be rendered on the welcome page,
|
|
708
|
+ // otherwise the app doesn't render it.
|
|
709
|
+ // moderatedRoomServiceUrl: 'https://moderated.{{ jitsi_domain }}',
|
|
710
|
+
|
|
711
|
+ // If true, tile view will not be enabled automatically when the participants count threshold is reached.
|
|
712
|
+ // disableTileView: true,
|
|
713
|
+
|
|
714
|
+ // Hides the conference subject
|
|
715
|
+ // hideConferenceSubject: true,
|
|
716
|
+
|
|
717
|
+ // Hides the conference timer.
|
|
718
|
+ // hideConferenceTimer: true,
|
|
719
|
+
|
|
720
|
+ // Hides the participants stats
|
|
721
|
+ // hideParticipantsStats: true,
|
|
722
|
+
|
|
723
|
+ // Sets the conference subject
|
|
724
|
+ // subject: 'Conference Subject',
|
|
725
|
+
|
|
726
|
+ // This property is related to the use case when jitsi-meet is used via the IFrame API. When the property is true
|
|
727
|
+ // jitsi-meet will use the local storage of the host page instead of its own. This option is useful if the browser
|
|
728
|
+ // is not persisting the local storage inside the iframe.
|
|
729
|
+ // useHostPageLocalStorage: true,
|
|
730
|
+
|
|
731
|
+ // List of undocumented settings used in jitsi-meet
|
|
732
|
+ /**
|
|
733
|
+ _immediateReloadThreshold
|
|
734
|
+ debug
|
|
735
|
+ debugAudioLevels
|
|
736
|
+ deploymentInfo
|
|
737
|
+ dialInConfCodeUrl
|
|
738
|
+ dialInNumbersUrl
|
|
739
|
+ dialOutAuthUrl
|
|
740
|
+ dialOutCodesUrl
|
|
741
|
+ disableRemoteControl
|
|
742
|
+ displayJids
|
|
743
|
+ etherpad_base
|
|
744
|
+ externalConnectUrl
|
|
745
|
+ firefox_fake_device
|
|
746
|
+ googleApiApplicationClientID
|
|
747
|
+ iAmRecorder
|
|
748
|
+ iAmSipGateway
|
|
749
|
+ microsoftApiApplicationClientID
|
|
750
|
+ peopleSearchQueryTypes
|
|
751
|
+ peopleSearchUrl
|
|
752
|
+ requireDisplayName
|
|
753
|
+ tokenAuthUrl
|
|
754
|
+ */
|
|
755
|
+
|
|
756
|
+ /**
|
|
757
|
+ * This property can be used to alter the generated meeting invite links (in combination with a branding domain
|
|
758
|
+ * which is retrieved internally by jitsi meet) (e.g. https://meet.jit.si/someMeeting
|
|
759
|
+ * can become https://brandedDomain/roomAlias)
|
|
760
|
+ */
|
|
761
|
+ // brandingRoomAlias: null,
|
|
762
|
+
|
|
763
|
+ // List of undocumented settings used in lib-jitsi-meet
|
|
764
|
+ /**
|
|
765
|
+ _peerConnStatusOutOfLastNTimeout
|
|
766
|
+ _peerConnStatusRtcMuteTimeout
|
|
767
|
+ abTesting
|
|
768
|
+ avgRtpStatsN
|
|
769
|
+ callStatsConfIDNamespace
|
|
770
|
+ callStatsCustomScriptUrl
|
|
771
|
+ desktopSharingSources
|
|
772
|
+ disableAEC
|
|
773
|
+ disableAGC
|
|
774
|
+ disableAP
|
|
775
|
+ disableHPF
|
|
776
|
+ disableNS
|
|
777
|
+ enableTalkWhileMuted
|
|
778
|
+ forceJVB121Ratio
|
|
779
|
+ forceTurnRelay
|
|
780
|
+ hiddenDomain
|
|
781
|
+ ignoreStartMuted
|
|
782
|
+ websocketKeepAlive
|
|
783
|
+ websocketKeepAliveUrl
|
|
784
|
+ */
|
|
785
|
+
|
|
786
|
+ /**
|
|
787
|
+ Use this array to configure which notifications will be shown to the user
|
|
788
|
+ The items correspond to the title or description key of that notification
|
|
789
|
+ Some of these notifications also depend on some other internal logic to be displayed or not,
|
|
790
|
+ so adding them here will not ensure they will always be displayed
|
|
791
|
+
|
|
792
|
+ A falsy value for this prop will result in having all notifications enabled (e.g null, undefined, false)
|
|
793
|
+ */
|
|
794
|
+ // notifications: [
|
|
795
|
+ // 'connection.CONNFAIL', // shown when the connection fails,
|
|
796
|
+ // 'dialog.cameraNotSendingData', // shown when there's no feed from user's camera
|
|
797
|
+ // 'dialog.kickTitle', // shown when user has been kicked
|
|
798
|
+ // 'dialog.liveStreaming', // livestreaming notifications (pending, on, off, limits)
|
|
799
|
+ // 'dialog.lockTitle', // shown when setting conference password fails
|
|
800
|
+ // 'dialog.maxUsersLimitReached', // shown when maximmum users limit has been reached
|
|
801
|
+ // 'dialog.micNotSendingData', // shown when user's mic is not sending any audio
|
|
802
|
+ // 'dialog.passwordNotSupportedTitle', // shown when setting conference password fails due to password format
|
|
803
|
+ // 'dialog.recording', // recording notifications (pending, on, off, limits)
|
|
804
|
+ // 'dialog.remoteControlTitle', // remote control notifications (allowed, denied, start, stop, error)
|
|
805
|
+ // 'dialog.reservationError',
|
|
806
|
+ // 'dialog.serviceUnavailable', // shown when server is not reachable
|
|
807
|
+ // 'dialog.sessTerminated', // shown when there is a failed conference session
|
|
808
|
+ // 'dialog.sessionRestarted', // show when a client reload is initiated because of bridge migration
|
|
809
|
+ // 'dialog.tokenAuthFailed', // show when an invalid jwt is used
|
|
810
|
+ // 'dialog.transcribing', // transcribing notifications (pending, off)
|
|
811
|
+ // 'dialOut.statusMessage', // shown when dial out status is updated.
|
|
812
|
+ // 'liveStreaming.busy', // shown when livestreaming service is busy
|
|
813
|
+ // 'liveStreaming.failedToStart', // shown when livestreaming fails to start
|
|
814
|
+ // 'liveStreaming.unavailableTitle', // shown when livestreaming service is not reachable
|
|
815
|
+ // 'lobby.joinRejectedMessage', // shown when while in a lobby, user's request to join is rejected
|
|
816
|
+ // 'lobby.notificationTitle', // shown when lobby is toggled and when join requests are allowed / denied
|
|
817
|
+ // 'localRecording.localRecording', // shown when a local recording is started
|
|
818
|
+ // 'notify.disconnected', // shown when a participant has left
|
|
819
|
+ // 'notify.grantedTo', // shown when moderator rights were granted to a participant
|
|
820
|
+ // 'notify.invitedOneMember', // shown when 1 participant has been invited
|
|
821
|
+ // 'notify.invitedThreePlusMembers', // shown when 3+ participants have been invited
|
|
822
|
+ // 'notify.invitedTwoMembers', // shown when 2 participants have been invited
|
|
823
|
+ // 'notify.kickParticipant', // shown when a participant is kicked
|
|
824
|
+ // 'notify.mutedRemotelyTitle', // shown when user is muted by a remote party
|
|
825
|
+ // 'notify.mutedTitle', // shown when user has been muted upon joining,
|
|
826
|
+ // 'notify.newDeviceAudioTitle', // prompts the user to use a newly detected audio device
|
|
827
|
+ // 'notify.newDeviceCameraTitle', // prompts the user to use a newly detected camera
|
|
828
|
+ // 'notify.passwordRemovedRemotely', // shown when a password has been removed remotely
|
|
829
|
+ // 'notify.passwordSetRemotely', // shown when a password has been set remotely
|
|
830
|
+ // 'notify.raisedHand', // shown when a partcipant used raise hand,
|
|
831
|
+ // 'notify.startSilentTitle', // shown when user joined with no audio
|
|
832
|
+ // 'prejoin.errorDialOut',
|
|
833
|
+ // 'prejoin.errorDialOutDisconnected',
|
|
834
|
+ // 'prejoin.errorDialOutFailed',
|
|
835
|
+ // 'prejoin.errorDialOutStatus',
|
|
836
|
+ // 'prejoin.errorStatusCode',
|
|
837
|
+ // 'prejoin.errorValidation',
|
|
838
|
+ // 'recording.busy', // shown when recording service is busy
|
|
839
|
+ // 'recording.failedToStart', // shown when recording fails to start
|
|
840
|
+ // 'recording.unavailableTitle', // shown when recording service is not reachable
|
|
841
|
+ // 'toolbar.noAudioSignalTitle', // shown when a broken mic is detected
|
|
842
|
+ // 'toolbar.noisyAudioInputTitle', // shown when noise is detected for the current microphone
|
|
843
|
+ // 'toolbar.talkWhileMutedPopup', // shown when user tries to speak while muted
|
|
844
|
+ // 'transcribing.failedToStart' // shown when transcribing fails to start
|
|
845
|
+ // ]
|
|
846
|
+
|
|
847
|
+ // Allow all above example options to include a trailing comma and
|
|
848
|
+ // prevent fear when commenting out the last value.
|
|
849
|
+ makeJsonParserHappy: 'even if last key had a trailing comma'
|
|
850
|
+
|
|
851
|
+ // no configuration value should follow this line.
|
|
852
|
+};
|
|
853
|
+
|
|
854
|
+/* eslint-enable no-unused-vars, no-var */
|