diff --git a/config.js b/config.js index bc6f917655..cd76afdb6d 100644 --- a/config.js +++ b/config.js @@ -859,6 +859,7 @@ var config = { disableRemoteControl displayJids externalConnectUrl + e2eeLabel firefox_fake_device googleApiApplicationClientID iAmRecorder diff --git a/lang/main.json b/lang/main.json index 691df014d1..e1e6b7c13c 100644 --- a/lang/main.json +++ b/lang/main.json @@ -210,8 +210,11 @@ "displayNameRequired": "Hi! What’s your name?", "done": "Done", "e2eeDescription": "End-to-End Encryption is currently EXPERIMENTAL. Please keep in mind that turning on end-to-end encryption will effectively disable server-side provided services such as: phone participation. Also keep in mind that the meeting will only work for people joining from browsers with support for insertable streams.", + "e2eeDescriptionCustom": "{{label}} is currently EXPERIMENTAL. Please keep in mind that turning on {{label}} will effectively disable server-side provided services such as: phone participation. Also keep in mind that the meeting will only work for people joining from browsers with support for insertable streams.", "e2eeLabel": "Enable End-to-End Encryption", + "e2eeLabelCustom": "Enable {{label}}", "e2eeWarning": "WARNING: Not all participants in this meeting seem to have support for End-to-End encryption. If you enable it they won't be able to see nor hear you.", + "e2eeWarningCustom": "WARNING: Not all participants in this meeting seem to have support for {{label}}. If you enable it they won't be able to see nor hear you.", "enterDisplayName": "Enter your name here", "embedMeeting": "Embed meeting", "error": "Error", diff --git a/react/features/base/config/configWhitelist.js b/react/features/base/config/configWhitelist.js index 91947ed40c..3cd893df2e 100644 --- a/react/features/base/config/configWhitelist.js +++ b/react/features/base/config/configWhitelist.js @@ -109,6 +109,7 @@ export default [ 'doNotStoreRoom', 'doNotFlipLocalVideo', 'dropbox', + 'e2eeLabel', 'e2eping', 'enableDisplayNameInStats', 'enableEmailInStats', diff --git a/react/features/e2ee/components/E2EESection.js b/react/features/e2ee/components/E2EESection.js index 66bf0a76aa..76a125df90 100644 --- a/react/features/e2ee/components/E2EESection.js +++ b/react/features/e2ee/components/E2EESection.js @@ -12,6 +12,11 @@ import { doesEveryoneSupportE2EE } from '../functions'; type Props = { + /** + * Custom e2ee label. + */ + _e2eeLabel: string, + /** * Whether E2EE is currently enabled or not. */ @@ -87,9 +92,21 @@ class E2EESection extends Component { * @returns {ReactElement} */ render() { - const { _everyoneSupportE2EE, t } = this.props; + const { _e2eeLabel, _everyoneSupportE2EE, t } = this.props; const { enabled } = this.state; - const description = t('dialog.e2eeDescription'); + let description; + let label; + let warning; + + if (_e2eeLabel) { + description = t('dialog.e2eeDescriptionCustom', { label: _e2eeLabel }); + label = t('dialog.e2eeLabelCustom', { label: _e2eeLabel }); + warning = t('dialog.e2eeWarningCustom', { label: _e2eeLabel }); + } else { + description = t('dialog.e2eeDescription'); + label = t('dialog.e2eeLabel'); + warning = t('dialog.e2eeWarning'); + } return (
@@ -99,11 +116,11 @@ class E2EESection extends Component { id = 'e2ee-section-description'> { description } { !_everyoneSupportE2EE &&
} - { !_everyoneSupportE2EE && t('dialog.e2eeWarning') } + { !_everyoneSupportE2EE && warning }

{ */ function mapStateToProps(state) { const { enabled } = state['features/e2ee']; + const { e2eeLabel } = state['features/base/config']; return { + _e2eeLabel: e2eeLabel, _enabled: enabled, _everyoneSupportE2EE: doesEveryoneSupportE2EE(state) };