diff --git a/modules/API/API.js b/modules/API/API.js index ecdb197cc2..6e90414191 100755 --- a/modules/API/API.js +++ b/modules/API/API.js @@ -790,7 +790,7 @@ function initCommands() { } if (transcription) { - APP.store.dispatch(setRequestingSubtitles(true, false, null, true)); + APP.store.dispatch(setRequestingSubtitles(true, false, null)); } }, @@ -812,7 +812,7 @@ function initCommands() { } if (transcription) { - APP.store.dispatch(setRequestingSubtitles(false, false, null, true)); + APP.store.dispatch(setRequestingSubtitles(false, false, null)); } if (mode === 'local') { diff --git a/react/features/mobile/external-api/middleware.ts b/react/features/mobile/external-api/middleware.ts index c3d8052ea4..7387b1b766 100644 --- a/react/features/mobile/external-api/middleware.ts +++ b/react/features/mobile/external-api/middleware.ts @@ -588,7 +588,7 @@ function _registerForNativeEvents(store: IStore) { } if (transcription) { - store.dispatch(setRequestingSubtitles(true, false, null, true)); + store.dispatch(setRequestingSubtitles(true, false, null)); } }); @@ -603,7 +603,7 @@ function _registerForNativeEvents(store: IStore) { } if (transcription) { - store.dispatch(setRequestingSubtitles(false, false, null, true)); + store.dispatch(setRequestingSubtitles(false, false, null)); } if (![ JitsiRecordingConstants.mode.FILE, JitsiRecordingConstants.mode.STREAM ].includes(mode)) { diff --git a/react/features/recording/actions.any.ts b/react/features/recording/actions.any.ts index a48a1029e8..1478c65dae 100644 --- a/react/features/recording/actions.any.ts +++ b/react/features/recording/actions.any.ts @@ -459,7 +459,7 @@ export function showStartRecordingNotificationWithCallback(openRecordingDialog: }); if (autoTranscribeOnRecord) { - dispatch(setRequestingSubtitles(true, false, null, true)); + dispatch(setRequestingSubtitles(true, false, null)); } } else { openRecordingDialog(); diff --git a/react/features/recording/components/Recording/AbstractStartRecordingDialog.ts b/react/features/recording/components/Recording/AbstractStartRecordingDialog.ts index cc20b924f7..302a8208f7 100644 --- a/react/features/recording/components/Recording/AbstractStartRecordingDialog.ts +++ b/react/features/recording/components/Recording/AbstractStartRecordingDialog.ts @@ -415,7 +415,7 @@ class AbstractStartRecordingDialog extends Component { if (this.state.selectedRecordingService === RECORDING_TYPES.JITSI_REC_SERVICE && this.state.shouldRecordTranscription) { - dispatch(setRequestingSubtitles(true, _displaySubtitles, _subtitlesLanguage, true)); + dispatch(setRequestingSubtitles(true, _displaySubtitles, _subtitlesLanguage)); } else { _conference?.getMetadataHandler().setMetadata(RECORDING_METADATA_ID, { isTranscribingEnabled: this.state.shouldRecordTranscription diff --git a/react/features/subtitles/actions.any.ts b/react/features/subtitles/actions.any.ts index c145a3b5db..03eff51dde 100644 --- a/react/features/subtitles/actions.any.ts +++ b/react/features/subtitles/actions.any.ts @@ -95,11 +95,9 @@ export function toggleRequestingSubtitles() { export function setRequestingSubtitles( enabled: boolean, displaySubtitles = true, - language: string | null = `translation-languages:${DEFAULT_LANGUAGE}`, - backendRecordingOn = false) { + language: string | null = `translation-languages:${DEFAULT_LANGUAGE}`) { return { type: SET_REQUESTING_SUBTITLES, - backendRecordingOn, displaySubtitles, enabled, language diff --git a/react/features/subtitles/middleware.ts b/react/features/subtitles/middleware.ts index 9725c797e6..50373bd813 100644 --- a/react/features/subtitles/middleware.ts +++ b/react/features/subtitles/middleware.ts @@ -98,7 +98,7 @@ MiddlewareRegistry.register(store => next => action => { break; } case SET_REQUESTING_SUBTITLES: - _requestingSubtitlesChange(store, action.enabled, action.language, action.backendRecordingOn); + _requestingSubtitlesChange(store, action.enabled, action.language); break; } @@ -344,17 +344,16 @@ function _getPrimaryLanguageCode(language: string) { * @param {Store} store - The redux store. * @param {boolean} enabled - Whether subtitles should be enabled or not. * @param {string} language - The language to use for translation. - * @param {boolean} backendRecordingOn - Whether backend recording is on or not. * @private * @returns {void} */ function _requestingSubtitlesChange( { dispatch, getState }: IStore, enabled: boolean, - language?: string | null, - backendRecordingOn = false) { + language?: string | null) { const state = getState(); const { conference } = state['features/base/conference']; + const backendRecordingOn = conference?.getMetadataHandler()?.getMetadata()?.asyncTranscription; conference?.setLocalParticipantProperty( P_NAME_REQUESTING_TRANSCRIPTION, @@ -363,7 +362,7 @@ function _requestingSubtitlesChange( if (enabled && conference?.getTranscriptionStatus() === JitsiMeetJS.constants.transcriptionStatus.OFF && isJwtFeatureEnabled(getState(), MEET_FEATURES.TRANSCRIPTION, false)) { - if (!conference?.getMetadataHandler()?.getMetadata()?.asyncTranscription) { + if (!backendRecordingOn) { conference?.dial(TRANSCRIBER_DIAL_NUMBER) .catch((e: any) => { logger.error('Error dialing', e); @@ -376,9 +375,7 @@ function _requestingSubtitlesChange( })); dispatch(setSubtitlesError(true)); }); - } - - if (backendRecordingOn) { + } else { conference?.getMetadataHandler()?.setMetadata(RECORDING_METADATA_ID, { isTranscribingEnabled: true });