Compare commits

...

5 Commits
8971 ... master

Author SHA1 Message Date
damencho
cd6e905b95 feat(test): Updates wdio to 9.22.0. 2025-12-29 13:40:50 -06:00
damencho
ddaf7a3180 fix(transcriptions): Drops not needed parameter.
Fixes an issue with iFrameAPI where toggleSubtitles will not do anything in case of async transcriptions turned on.
2025-12-29 12:24:47 -06:00
damencho
47aa51a58c fix(polls): Drops not needed check. 2025-12-29 12:24:36 -06:00
damencho
66f7b9de53 fix(polls): Updates polls validation. 2025-12-29 12:24:36 -06:00
emrah
bab87be9c9 fix(turnserver): no dtls 2025-12-23 14:02:53 +01:00
10 changed files with 1656 additions and 1621 deletions

View File

@@ -10,6 +10,7 @@ no-cli
no-loopback-peers
no-tcp-relay
no-tcp
no-dtls
listening-port=3478
tls-listening-port=5349
no-tlsv1

View File

@@ -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') {

3218
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -164,12 +164,12 @@
"@types/w3c-image-capture": "1.0.6",
"@types/w3c-web-hid": "1.0.3",
"@types/zxcvbn": "4.4.1",
"@wdio/allure-reporter": "9.16.0",
"@wdio/cli": "9.16.0",
"@wdio/globals": "9.16.0",
"@wdio/junit-reporter": "9.16.0",
"@wdio/local-runner": "9.16.0",
"@wdio/mocha-framework": "9.16.0",
"@wdio/allure-reporter": "9.22.0",
"@wdio/cli": "9.22.0",
"@wdio/globals": "9.17.0",
"@wdio/junit-reporter": "9.21.0",
"@wdio/local-runner": "9.22.0",
"@wdio/mocha-framework": "9.22.0",
"babel-loader": "9.1.0",
"babel-plugin-optional-require": "0.3.1",
"circular-dependency-plugin": "5.2.0",
@@ -193,7 +193,7 @@
"ts-loader": "9.4.2",
"typescript": "5.7.2",
"unorm": "1.6.0",
"webdriverio": "9.16.0",
"webdriverio": "9.22.0",
"webpack": "5.95.0",
"webpack-bundle-analyzer": "4.4.2",
"webpack-cli": "5.1.4",

View File

@@ -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)) {

View File

@@ -459,7 +459,7 @@ export function showStartRecordingNotificationWithCallback(openRecordingDialog:
});
if (autoTranscribeOnRecord) {
dispatch(setRequestingSubtitles(true, false, null, true));
dispatch(setRequestingSubtitles(true, false, null));
}
} else {
openRecordingDialog();

View File

@@ -415,7 +415,7 @@ class AbstractStartRecordingDialog extends Component<IProps, IState> {
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

View File

@@ -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

View File

@@ -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
});

View File

@@ -33,15 +33,6 @@ local main_domain = module:get_option_string('main_domain');
-- only the visitor prosody has main_domain setting
local is_visitor_prosody = main_domain ~= nil;
-- Logs a warning and returns true if a room does not
-- have poll data associated with it.
local function check_polls(room)
if room.polls == nil then
module:log("warn", "no polls data in room");
return true;
end
return false;
end
local function validate_polls(data)
if type(data) ~= 'table' then
@@ -53,7 +44,7 @@ local function validate_polls(data)
if data.command ~= 'new-poll' and data.command ~= 'answer-poll' then
return false;
end
if type(data.answers) ~= 'table' then
if type(data.answers) ~= 'table' or #data.answers == 0 then
return false;
end
@@ -222,8 +213,6 @@ end
return true;
end
if check_polls(room) then return end
local poll_creator = occupant_details;
if room.polls.count >= POLLS_LIMIT then
@@ -286,8 +275,6 @@ end
module:context(jid.host(room.jid)):fire_event('poll-created', pollData);
elseif data.command == "answer-poll" then
if check_polls(room) then return end
local poll = room.polls.by_id[data.pollId];
if poll == nil then
module:log("warn", "answering inexistent poll %s", data.pollId);