Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
849f54db7d | ||
|
|
4e89d9d0fe | ||
|
|
4aeca36a9c |
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "redlight",
|
"name": "redlight",
|
||||||
"version": "2.4.0",
|
"version": "2.4.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "redlight",
|
"name": "redlight",
|
||||||
"version": "2.4.0",
|
"version": "2.4.1",
|
||||||
"license": "GPL-3.0-or-later",
|
"license": "GPL-3.0-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.7.0",
|
"axios": "^1.7.0",
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "redlight",
|
"name": "redlight",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2.4.0",
|
"version": "2.4.1",
|
||||||
"license": "GPL-3.0-or-later",
|
"license": "GPL-3.0-or-later",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
+10
-4
@@ -116,10 +116,16 @@ export async function createMeeting(room, logoutURL, loginURL = null, presentati
|
|||||||
if (analyticsCallbackURL) {
|
if (analyticsCallbackURL) {
|
||||||
params['meta_analytics-callback-url'] = analyticsCallbackURL;
|
params['meta_analytics-callback-url'] = analyticsCallbackURL;
|
||||||
}
|
}
|
||||||
// BBB posts a signed recording-ready callback there once recording formats
|
if (room.recording_transcript && isTranscriptionEnabled()) {
|
||||||
// are processed; used to trigger the AI summary/transcript integration.
|
// BBB posts a signed recording-ready callback there once recording formats
|
||||||
if (logoutURL && room.recording_transcript && isTranscriptionEnabled()) {
|
// are processed; used to trigger the AI summary/transcript integration.
|
||||||
params['meta_bbb-recording-ready-url'] = `${logoutURL}/api/recordings/recording-ready`;
|
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
|
// Build optional presentation XML body - escape URL to prevent XML injection
|
||||||
|
|||||||
@@ -62,7 +62,10 @@ export async function requestTranscription({ meetingId, recordingId, prompt }) {
|
|||||||
log.server.info(`Transcription requested for recording ${recordingId} (meeting: ${meetingId})`);
|
log.server.info(`Transcription requested for recording ${recordingId} (meeting: ${meetingId})`);
|
||||||
return true;
|
return true;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
log.server.error(`Transcription request error: ${err.message}`);
|
// undici wraps the real network error (ECONNREFUSED, ENOTFOUND, timeout, …)
|
||||||
|
// in err.cause — surface it, "fetch failed" alone is undiagnosable.
|
||||||
|
const cause = err.cause ? ` (${err.cause.code || ''} ${err.cause.message || ''})`.trimEnd() : '';
|
||||||
|
log.server.error(`Transcription request to ${url} failed: ${err.message}${cause}`);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export function wellKnownHandler(req, res) {
|
|||||||
federation_api: '/api/federation',
|
federation_api: '/api/federation',
|
||||||
public_key: getPublicKey(),
|
public_key: getPublicKey(),
|
||||||
software: 'Redlight',
|
software: 'Redlight',
|
||||||
version: '2.4.0',
|
version: '2.4.1',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user