matrix-react-sdk
Version:
SDK for matrix.org using React
80 lines (77 loc) • 10.8 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.checkVoiceBroadcastPreConditions = void 0;
var _react = _interopRequireDefault(require("react"));
var _matrix = require("matrix-js-sdk/src/matrix");
var _ = require("..");
var _InfoDialog = _interopRequireDefault(require("../../components/views/dialogs/InfoDialog"));
var _languageHandler = require("../../languageHandler");
var _Modal = _interopRequireDefault(require("../../Modal"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
const showAlreadyRecordingDialog = () => {
_Modal.default.createDialog(_InfoDialog.default, {
title: (0, _languageHandler._t)("voice_broadcast|failed_already_recording_title"),
description: /*#__PURE__*/_react.default.createElement("p", null, (0, _languageHandler._t)("voice_broadcast|failed_already_recording_description")),
hasCloseButton: true
});
};
const showInsufficientPermissionsDialog = () => {
_Modal.default.createDialog(_InfoDialog.default, {
title: (0, _languageHandler._t)("voice_broadcast|failed_insufficient_permission_title"),
description: /*#__PURE__*/_react.default.createElement("p", null, (0, _languageHandler._t)("voice_broadcast|failed_insufficient_permission_description")),
hasCloseButton: true
});
};
const showOthersAlreadyRecordingDialog = () => {
_Modal.default.createDialog(_InfoDialog.default, {
title: (0, _languageHandler._t)("voice_broadcast|failed_others_already_recording_title"),
description: /*#__PURE__*/_react.default.createElement("p", null, (0, _languageHandler._t)("voice_broadcast|failed_others_already_recording_description")),
hasCloseButton: true
});
};
const showNoConnectionDialog = () => {
_Modal.default.createDialog(_InfoDialog.default, {
title: (0, _languageHandler._t)("voice_broadcast|failed_no_connection_title"),
description: /*#__PURE__*/_react.default.createElement("p", null, (0, _languageHandler._t)("voice_broadcast|failed_no_connection_description")),
hasCloseButton: true
});
};
const checkVoiceBroadcastPreConditions = async (room, client, recordingsStore) => {
if (recordingsStore.getCurrent()) {
showAlreadyRecordingDialog();
return false;
}
const currentUserId = client.getUserId();
if (!currentUserId) return false;
if (!room.currentState.maySendStateEvent(_.VoiceBroadcastInfoEventType, currentUserId)) {
showInsufficientPermissionsDialog();
return false;
}
if (client.getSyncState() === _matrix.SyncState.Error) {
showNoConnectionDialog();
return false;
}
const {
hasBroadcast,
startedByUser
} = await (0, _.hasRoomLiveVoiceBroadcast)(client, room, currentUserId);
if (hasBroadcast && startedByUser) {
showAlreadyRecordingDialog();
return false;
}
if (hasBroadcast) {
showOthersAlreadyRecordingDialog();
return false;
}
return true;
};
exports.checkVoiceBroadcastPreConditions = checkVoiceBroadcastPreConditions;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9tYXRyaXgiLCJfIiwiX0luZm9EaWFsb2ciLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX01vZGFsIiwic2hvd0FscmVhZHlSZWNvcmRpbmdEaWFsb2ciLCJNb2RhbCIsImNyZWF0ZURpYWxvZyIsIkluZm9EaWFsb2ciLCJ0aXRsZSIsIl90IiwiZGVzY3JpcHRpb24iLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImhhc0Nsb3NlQnV0dG9uIiwic2hvd0luc3VmZmljaWVudFBlcm1pc3Npb25zRGlhbG9nIiwic2hvd090aGVyc0FscmVhZHlSZWNvcmRpbmdEaWFsb2ciLCJzaG93Tm9Db25uZWN0aW9uRGlhbG9nIiwiY2hlY2tWb2ljZUJyb2FkY2FzdFByZUNvbmRpdGlvbnMiLCJyb29tIiwiY2xpZW50IiwicmVjb3JkaW5nc1N0b3JlIiwiZ2V0Q3VycmVudCIsImN1cnJlbnRVc2VySWQiLCJnZXRVc2VySWQiLCJjdXJyZW50U3RhdGUiLCJtYXlTZW5kU3RhdGVFdmVudCIsIlZvaWNlQnJvYWRjYXN0SW5mb0V2ZW50VHlwZSIsImdldFN5bmNTdGF0ZSIsIlN5bmNTdGF0ZSIsIkVycm9yIiwiaGFzQnJvYWRjYXN0Iiwic3RhcnRlZEJ5VXNlciIsImhhc1Jvb21MaXZlVm9pY2VCcm9hZGNhc3QiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZvaWNlLWJyb2FkY2FzdC91dGlscy9jaGVja1ZvaWNlQnJvYWRjYXN0UHJlQ29uZGl0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTWF0cml4Q2xpZW50LCBSb29tLCBTeW5jU3RhdGUgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbmltcG9ydCB7IGhhc1Jvb21MaXZlVm9pY2VCcm9hZGNhc3QsIFZvaWNlQnJvYWRjYXN0SW5mb0V2ZW50VHlwZSwgVm9pY2VCcm9hZGNhc3RSZWNvcmRpbmdzU3RvcmUgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCBJbmZvRGlhbG9nIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvSW5mb0RpYWxvZ1wiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uL01vZGFsXCI7XG5cbmNvbnN0IHNob3dBbHJlYWR5UmVjb3JkaW5nRGlhbG9nID0gKCk6IHZvaWQgPT4ge1xuICAgIE1vZGFsLmNyZWF0ZURpYWxvZyhJbmZvRGlhbG9nLCB7XG4gICAgICAgIHRpdGxlOiBfdChcInZvaWNlX2Jyb2FkY2FzdHxmYWlsZWRfYWxyZWFkeV9yZWNvcmRpbmdfdGl0bGVcIiksXG4gICAgICAgIGRlc2NyaXB0aW9uOiA8cD57X3QoXCJ2b2ljZV9icm9hZGNhc3R8ZmFpbGVkX2FscmVhZHlfcmVjb3JkaW5nX2Rlc2NyaXB0aW9uXCIpfTwvcD4sXG4gICAgICAgIGhhc0Nsb3NlQnV0dG9uOiB0cnVlLFxuICAgIH0pO1xufTtcblxuY29uc3Qgc2hvd0luc3VmZmljaWVudFBlcm1pc3Npb25zRGlhbG9nID0gKCk6IHZvaWQgPT4ge1xuICAgIE1vZGFsLmNyZWF0ZURpYWxvZyhJbmZvRGlhbG9nLCB7XG4gICAgICAgIHRpdGxlOiBfdChcInZvaWNlX2Jyb2FkY2FzdHxmYWlsZWRfaW5zdWZmaWNpZW50X3Blcm1pc3Npb25fdGl0bGVcIiksXG4gICAgICAgIGRlc2NyaXB0aW9uOiA8cD57X3QoXCJ2b2ljZV9icm9hZGNhc3R8ZmFpbGVkX2luc3VmZmljaWVudF9wZXJtaXNzaW9uX2Rlc2NyaXB0aW9uXCIpfTwvcD4sXG4gICAgICAgIGhhc0Nsb3NlQnV0dG9uOiB0cnVlLFxuICAgIH0pO1xufTtcblxuY29uc3Qgc2hvd090aGVyc0FscmVhZHlSZWNvcmRpbmdEaWFsb2cgPSAoKTogdm9pZCA9PiB7XG4gICAgTW9kYWwuY3JlYXRlRGlhbG9nKEluZm9EaWFsb2csIHtcbiAgICAgICAgdGl0bGU6IF90KFwidm9pY2VfYnJvYWRjYXN0fGZhaWxlZF9vdGhlcnNfYWxyZWFkeV9yZWNvcmRpbmdfdGl0bGVcIiksXG4gICAgICAgIGRlc2NyaXB0aW9uOiA8cD57X3QoXCJ2b2ljZV9icm9hZGNhc3R8ZmFpbGVkX290aGVyc19hbHJlYWR5X3JlY29yZGluZ19kZXNjcmlwdGlvblwiKX08L3A+LFxuICAgICAgICBoYXNDbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICB9KTtcbn07XG5cbmNvbnN0IHNob3dOb0Nvbm5lY3Rpb25EaWFsb2cgPSAoKTogdm9pZCA9PiB7XG4gICAgTW9kYWwuY3JlYXRlRGlhbG9nKEluZm9EaWFsb2csIHtcbiAgICAgICAgdGl0bGU6IF90KFwidm9pY2VfYnJvYWRjYXN0fGZhaWxlZF9ub19jb25uZWN0aW9uX3RpdGxlXCIpLFxuICAgICAgICBkZXNjcmlwdGlvbjogPHA+e190KFwidm9pY2VfYnJvYWRjYXN0fGZhaWxlZF9ub19jb25uZWN0aW9uX2Rlc2NyaXB0aW9uXCIpfTwvcD4sXG4gICAgICAgIGhhc0Nsb3NlQnV0dG9uOiB0cnVlLFxuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNoZWNrVm9pY2VCcm9hZGNhc3RQcmVDb25kaXRpb25zID0gYXN5bmMgKFxuICAgIHJvb206IFJvb20sXG4gICAgY2xpZW50OiBNYXRyaXhDbGllbnQsXG4gICAgcmVjb3JkaW5nc1N0b3JlOiBWb2ljZUJyb2FkY2FzdFJlY29yZGluZ3NTdG9yZSxcbik6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGlmIChyZWNvcmRpbmdzU3RvcmUuZ2V0Q3VycmVudCgpKSB7XG4gICAgICAgIHNob3dBbHJlYWR5UmVjb3JkaW5nRGlhbG9nKCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50VXNlcklkID0gY2xpZW50LmdldFVzZXJJZCgpO1xuXG4gICAgaWYgKCFjdXJyZW50VXNlcklkKSByZXR1cm4gZmFsc2U7XG5cbiAgICBpZiAoIXJvb20uY3VycmVudFN0YXRlLm1heVNlbmRTdGF0ZUV2ZW50KFZvaWNlQnJvYWRjYXN0SW5mb0V2ZW50VHlwZSwgY3VycmVudFVzZXJJZCkpIHtcbiAgICAgICAgc2hvd0luc3VmZmljaWVudFBlcm1pc3Npb25zRGlhbG9nKCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoY2xpZW50LmdldFN5bmNTdGF0ZSgpID09PSBTeW5jU3RhdGUuRXJyb3IpIHtcbiAgICAgICAgc2hvd05vQ29ubmVjdGlvbkRpYWxvZygpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgeyBoYXNCcm9hZGNhc3QsIHN0YXJ0ZWRCeVVzZXIgfSA9IGF3YWl0IGhhc1Jvb21MaXZlVm9pY2VCcm9hZGNhc3QoY2xpZW50LCByb29tLCBjdXJyZW50VXNlcklkKTtcblxuICAgIGlmIChoYXNCcm9hZGNhc3QgJiYgc3RhcnRlZEJ5VXNlcikge1xuICAgICAgICBzaG93QWxyZWFkeVJlY29yZGluZ0RpYWxvZygpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGhhc0Jyb2FkY2FzdCkge1xuICAgICAgICBzaG93T3RoZXJzQWxyZWFkeVJlY29yZGluZ0RpYWxvZygpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsQ0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksZ0JBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQWRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVVBLE1BQU1NLDBCQUEwQixHQUFHQSxDQUFBLEtBQVk7RUFDM0NDLGNBQUssQ0FBQ0MsWUFBWSxDQUFDQyxtQkFBVSxFQUFFO0lBQzNCQyxLQUFLLEVBQUUsSUFBQUMsbUJBQUUsRUFBQyxnREFBZ0QsQ0FBQztJQUMzREMsV0FBVyxlQUFFZCxNQUFBLENBQUFlLE9BQUEsQ0FBQUMsYUFBQSxZQUFJLElBQUFILG1CQUFFLEVBQUMsc0RBQXNELENBQUssQ0FBQztJQUNoRkksY0FBYyxFQUFFO0VBQ3BCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNQyxpQ0FBaUMsR0FBR0EsQ0FBQSxLQUFZO0VBQ2xEVCxjQUFLLENBQUNDLFlBQVksQ0FBQ0MsbUJBQVUsRUFBRTtJQUMzQkMsS0FBSyxFQUFFLElBQUFDLG1CQUFFLEVBQUMsc0RBQXNELENBQUM7SUFDakVDLFdBQVcsZUFBRWQsTUFBQSxDQUFBZSxPQUFBLENBQUFDLGFBQUEsWUFBSSxJQUFBSCxtQkFBRSxFQUFDLDREQUE0RCxDQUFLLENBQUM7SUFDdEZJLGNBQWMsRUFBRTtFQUNwQixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTUUsZ0NBQWdDLEdBQUdBLENBQUEsS0FBWTtFQUNqRFYsY0FBSyxDQUFDQyxZQUFZLENBQUNDLG1CQUFVLEVBQUU7SUFDM0JDLEtBQUssRUFBRSxJQUFBQyxtQkFBRSxFQUFDLHVEQUF1RCxDQUFDO0lBQ2xFQyxXQUFXLGVBQUVkLE1BQUEsQ0FBQWUsT0FBQSxDQUFBQyxhQUFBLFlBQUksSUFBQUgsbUJBQUUsRUFBQyw2REFBNkQsQ0FBSyxDQUFDO0lBQ3ZGSSxjQUFjLEVBQUU7RUFDcEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU1HLHNCQUFzQixHQUFHQSxDQUFBLEtBQVk7RUFDdkNYLGNBQUssQ0FBQ0MsWUFBWSxDQUFDQyxtQkFBVSxFQUFFO0lBQzNCQyxLQUFLLEVBQUUsSUFBQUMsbUJBQUUsRUFBQyw0Q0FBNEMsQ0FBQztJQUN2REMsV0FBVyxlQUFFZCxNQUFBLENBQUFlLE9BQUEsQ0FBQUMsYUFBQSxZQUFJLElBQUFILG1CQUFFLEVBQUMsa0RBQWtELENBQUssQ0FBQztJQUM1RUksY0FBYyxFQUFFO0VBQ3BCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFTSxNQUFNSSxnQ0FBZ0MsR0FBRyxNQUFBQSxDQUM1Q0MsSUFBVSxFQUNWQyxNQUFvQixFQUNwQkMsZUFBOEMsS0FDM0I7RUFDbkIsSUFBSUEsZUFBZSxDQUFDQyxVQUFVLENBQUMsQ0FBQyxFQUFFO0lBQzlCakIsMEJBQTBCLENBQUMsQ0FBQztJQUM1QixPQUFPLEtBQUs7RUFDaEI7RUFFQSxNQUFNa0IsYUFBYSxHQUFHSCxNQUFNLENBQUNJLFNBQVMsQ0FBQyxDQUFDO0VBRXhDLElBQUksQ0FBQ0QsYUFBYSxFQUFFLE9BQU8sS0FBSztFQUVoQyxJQUFJLENBQUNKLElBQUksQ0FBQ00sWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsNkJBQTJCLEVBQUVKLGFBQWEsQ0FBQyxFQUFFO0lBQ2xGUixpQ0FBaUMsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sS0FBSztFQUNoQjtFQUVBLElBQUlLLE1BQU0sQ0FBQ1EsWUFBWSxDQUFDLENBQUMsS0FBS0MsaUJBQVMsQ0FBQ0MsS0FBSyxFQUFFO0lBQzNDYixzQkFBc0IsQ0FBQyxDQUFDO0lBQ3hCLE9BQU8sS0FBSztFQUNoQjtFQUVBLE1BQU07SUFBRWMsWUFBWTtJQUFFQztFQUFjLENBQUMsR0FBRyxNQUFNLElBQUFDLDJCQUF5QixFQUFDYixNQUFNLEVBQUVELElBQUksRUFBRUksYUFBYSxDQUFDO0VBRXBHLElBQUlRLFlBQVksSUFBSUMsYUFBYSxFQUFFO0lBQy9CM0IsMEJBQTBCLENBQUMsQ0FBQztJQUM1QixPQUFPLEtBQUs7RUFDaEI7RUFFQSxJQUFJMEIsWUFBWSxFQUFFO0lBQ2RmLGdDQUFnQyxDQUFDLENBQUM7SUFDbEMsT0FBTyxLQUFLO0VBQ2hCO0VBRUEsT0FBTyxJQUFJO0FBQ2YsQ0FBQztBQUFDa0IsT0FBQSxDQUFBaEIsZ0NBQUEsR0FBQUEsZ0NBQUEiLCJpZ25vcmVMaXN0IjpbXX0=