Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions config.js
Original file line number Diff line number Diff line change
Expand Up @@ -422,21 +422,21 @@
// // consentLearnMoreLink: 'https://jitsi.org/meet/consent',
// },

// recordingService: {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Drop all changes to this file.

// // When integrations like dropbox are enabled only that will be shown,
// // by enabling fileRecordingsServiceEnabled, we show both the integrations
// // and the generic recording service (its configuration and storage type
// // depends on jibri configuration)
// enabled: false,

// // Whether to show the possibility to share file recording with other people
// // (e.g. meeting participants), based on the actual implementation
// // on the backend.
// sharingEnabled: false,

// // Hide the warning that says we only store the recording for 24 hours.
// hideStorageWarning: false,
// },
recordingService: {
// When integrations like dropbox are enabled only that will be shown,
// by enabling fileRecordingsServiceEnabled, we show both the integrations
// and the generic recording service (its configuration and storage type
// depends on jibri configuration)
enabled: false, // ✅ DISABLED for reproduction

Check failure on line 430 in config.js

View workflow job for this annotation

GitHub Actions / Lint

Multiple spaces found before '// ✅ DISABLED ...'

// Whether to show the possibility to share file recording with other people
// (e.g. meeting participants), based on the actual implementation
// on the backend.
sharingEnabled: false,

// Hide the warning that says we only store the recording for 24 hours.
hideStorageWarning: false,
},

// DEPRECATED. Use recordingService.enabled instead.
// fileRecordingsServiceEnabled: false,
Expand All @@ -445,16 +445,16 @@
// fileRecordingsServiceSharingEnabled: false,

// Local recording configuration.
// localRecording: {
// // Whether to disable local recording or not.
// disable: false,
localRecording: {
// Whether to disable local recording or not.
disable: false, // ✅ ENABLED for reproduction (false = enabled)

Check failure on line 450 in config.js

View workflow job for this annotation

GitHub Actions / Lint

Multiple spaces found before '// ✅ ENABLED f...'

// // Whether to notify all participants when a participant is recording locally.
// notifyAllParticipants: false,
// Whether to notify all participants when a participant is recording locally.
notifyAllParticipants: false,

// // Whether to disable the self recording feature (only local participant streams).
// disableSelfRecording: false,
// },
// Whether to disable the self recording feature (only local participant streams).
disableSelfRecording: false,
},

// Customize the Live Streaming dialog. Can be modified for a non-YouTube provider.
// liveStreaming: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,19 @@
_renderAdvancedOptions() {
const { selectedRecordingService } = this.props;

if (selectedRecordingService !== RECORDING_TYPES.JITSI_REC_SERVICE || !this._canStartTranscribing()) {
// 🔥 FIX: Show Advanced Options for both cloud AND local recording when transcription is available
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please drop this comment.

// OLD LOGIC: Only showed for JITSI_REC_SERVICE (cloud recording)
// NEW LOGIC: Show for JITSI_REC_SERVICE OR LOCAL recording (when transcription available)
const canStartTranscribing = this._canStartTranscribing();
const isCloudRecording = selectedRecordingService === RECORDING_TYPES.JITSI_REC_SERVICE;
const isLocalRecording = selectedRecordingService === RECORDING_TYPES.LOCAL;

Check failure on line 62 in react/features/recording/components/Recording/native/StartRecordingDialogContent.tsx

View workflow job for this annotation

GitHub Actions / Lint

Trailing spaces not allowed
// Advanced Options should show when:
// 1. Cloud recording is selected AND transcription is available, OR
// 2. Local recording is selected AND transcription is available
const shouldShowAdvancedOptions = (isCloudRecording || isLocalRecording) && canStartTranscribing;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the recording type becomes irrelevant, and we should only show it if there is a transcriber, no?


Check failure on line 67 in react/features/recording/components/Recording/native/StartRecordingDialogContent.tsx

View workflow job for this annotation

GitHub Actions / Lint

Trailing spaces not allowed
if (!shouldShowAdvancedOptions) {
return null;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,28 @@
* @returns {React$Component}
*/
_renderAdvancedOptions() {
const { selectedRecordingService } = this.props;
const {

Check failure on line 64 in react/features/recording/components/Recording/web/StartRecordingDialogContent.tsx

View workflow job for this annotation

GitHub Actions / Lint

Trailing spaces not allowed
selectedRecordingService,

Check failure on line 65 in react/features/recording/components/Recording/web/StartRecordingDialogContent.tsx

View workflow job for this annotation

GitHub Actions / Lint

'selectedRecordingService' is assigned a value but never used. Allowed unused vars must match /^_/u
_localRecordingEnabled,
_localRecordingAvailable,
fileRecordingsServiceEnabled
} = this.props;

if (selectedRecordingService !== RECORDING_TYPES.JITSI_REC_SERVICE || !this._canStartTranscribing()) {
// 🔥 FIX: Decouple Advanced Options from cloud recording service
// Show Advanced Options when ANY recording capability exists
// The section contains multiple toggles that are useful independently:
// 1. Record Transcription (requires transcription capability)
// 2. Record Audio and Video (useful for any recording)
const hasRecordingCapability = fileRecordingsServiceEnabled || _localRecordingAvailable;
const canStartTranscribing = this._canStartTranscribing();

// Show Advanced Options if we have recording capability OR transcription capability
// This allows the audio/video toggle to be useful even without transcription
if (!hasRecordingCapability && !canStartTranscribing) {
return null;
}


const { showAdvancedOptions } = this.state;
const { shouldRecordAudioAndVideo, shouldRecordTranscription, t } = this.props;

Expand Down
Loading