diff --git a/server/config/bbb.js b/server/config/bbb.js index 2ab8c5a..31a1772 100644 --- a/server/config/bbb.js +++ b/server/config/bbb.js @@ -116,10 +116,16 @@ export async function createMeeting(room, logoutURL, loginURL = null, presentati if (analyticsCallbackURL) { params['meta_analytics-callback-url'] = analyticsCallbackURL; } - // BBB posts a signed recording-ready callback there once recording formats - // are processed; used to trigger the AI summary/transcript integration. - if (logoutURL && room.recording_transcript && isTranscriptionEnabled()) { - params['meta_bbb-recording-ready-url'] = `${logoutURL}/api/recordings/recording-ready`; + if (room.recording_transcript && isTranscriptionEnabled()) { + // BBB posts a signed recording-ready callback there once recording formats + // are processed; used to trigger the AI summary/transcript integration. + if (logoutURL) { + params['meta_bbb-recording-ready-url'] = `${logoutURL}/api/recordings/recording-ready`; + } + } else { + // Transcription/summary is off for this room — tell BBB to skip processing + // and publishing those recording formats entirely (BBB PR #25277). + params['meta_bbb-disable-recording-formats'] = 'transcript,summary'; } // Build optional presentation XML body - escape URL to prevent XML injection