snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
67
react/features/base/premeeting/actions.web.ts
Normal file
67
react/features/base/premeeting/actions.web.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
import { IStore } from '../../app/types';
|
||||
import JitsiMeetJS from '../lib-jitsi-meet';
|
||||
|
||||
import { SET_PRECALL_TEST_RESULTS, SET_UNSAFE_ROOM_CONSENT } from './actionTypes';
|
||||
import { getPreCallICEUrl } from './functions';
|
||||
import logger from './logger';
|
||||
import { IPreCallResult, IPreCallTestState, PreCallTestStatus } from './types';
|
||||
|
||||
/**
|
||||
* Sets the consent of the user for joining the unsafe room.
|
||||
*
|
||||
* @param {boolean} consent - The user's consent.
|
||||
* @returns {{
|
||||
* type: SET_UNSAFE_ROOM_CONSENT,
|
||||
* consent: boolean
|
||||
* }}
|
||||
*/
|
||||
export function setUnsafeRoomConsent(consent: boolean) {
|
||||
return {
|
||||
type: SET_UNSAFE_ROOM_CONSENT,
|
||||
consent
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the 'precallTest' and executes one test, storing the results.
|
||||
*
|
||||
* @returns {Function}
|
||||
*/
|
||||
export function runPreCallTest() {
|
||||
return async function(dispatch: Function, getState: IStore['getState']) {
|
||||
try {
|
||||
|
||||
dispatch(setPreCallTestResults({ status: PreCallTestStatus.RUNNING }));
|
||||
|
||||
const turnCredentialsUrl = getPreCallICEUrl(getState());
|
||||
|
||||
if (!turnCredentialsUrl) {
|
||||
throw new Error('No TURN credentials URL provided in config');
|
||||
}
|
||||
|
||||
const turnCredentials = await fetch(turnCredentialsUrl);
|
||||
const { iceServers } = await turnCredentials.json();
|
||||
const result: IPreCallResult = await JitsiMeetJS.runPreCallTest(iceServers);
|
||||
|
||||
dispatch(setPreCallTestResults({ status: PreCallTestStatus.FINISHED,
|
||||
result }));
|
||||
} catch (error) {
|
||||
logger.error('Failed to run pre-call test', error);
|
||||
|
||||
dispatch(setPreCallTestResults({ status: PreCallTestStatus.FAILED }));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Action used to set data from precall test.
|
||||
*
|
||||
* @param {IPreCallTestState} value - The precall test results.
|
||||
* @returns {Object}
|
||||
*/
|
||||
export function setPreCallTestResults(value: IPreCallTestState) {
|
||||
return {
|
||||
type: SET_PRECALL_TEST_RESULTS,
|
||||
value
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user