diff --git a/config.js b/config.js index db8ac8b34..aceb26a0d 100644 --- a/config.js +++ b/config.js @@ -314,8 +314,12 @@ var config = { // localRecording: { // // Whether to disable local recording or not. // disable: false, + // // Whether to notify all participants when a participant is recording locally. - // notifyAllParticipants: false + // notifyAllParticipants: false, + + // // Whether to disable the self recording feature (only local participant streams). + // disableSelfRecording: false // }, // DEPRECATED. Use transcription.enabled instead. diff --git a/lang/main.json b/lang/main.json index 123818672..df820cd85 100644 --- a/lang/main.json +++ b/lang/main.json @@ -910,7 +910,7 @@ "onlyRecordSelf": "Record only my audio and video streams", "pending": "Preparing to record the meeting...", "rec": "REC", - "saveLocalRecording": "Save recording file locally", + "saveLocalRecording": "Save recording file locally (Beta)", "serviceDescription": "Your recording will be saved by the recording service", "serviceDescriptionCloud": "Cloud recording", "serviceDescriptionCloudInfo": "Recorded meetings are automatically cleared 24h after their recording time.", diff --git a/react/features/recording/components/Recording/StartRecordingDialogContent.js b/react/features/recording/components/Recording/StartRecordingDialogContent.js index e3996e626..93a98e5c7 100644 --- a/react/features/recording/components/Recording/StartRecordingDialogContent.js +++ b/react/features/recording/components/Recording/StartRecordingDialogContent.js @@ -57,6 +57,11 @@ type Props = { */ _localRecordingNoNotification: boolean, + /** + * Whether self local recording is enabled or not. + */ + _localRecordingSelfEnabled: boolean, + /** * The color-schemed stylesheet of this component. */ @@ -679,33 +684,35 @@ class StartRecordingDialogContent extends Component { {selectedRecordingService === RECORDING_TYPES.LOCAL && ( <> - - - - + {this.props._localRecordingSelfEnabled && ( + + + + + + + {t('recording.onlyRecordSelf')} + + - - {t('recording.onlyRecordSelf')} - - - + )} {t('recording.localRecordingWarning')} @@ -758,6 +765,7 @@ function _mapStateToProps(state) { isVpaas: isVpaasMeeting(state), _hideStorageWarning: state['features/base/config'].recording?.hideStorageWarning, _localRecordingEnabled: !state['features/base/config'].localRecording?.disable, + _localRecordingSelfEnabled: !state['features/base/config'].localRecording?.disableSelfRecording, _localRecordingNoNotification: !state['features/base/config'].localRecording?.notifyAllParticipants, _styles: ColorSchemeRegistry.get(state, 'StartRecordingDialogContent') };