matrix-react-sdk
Version:
SDK for matrix.org using React
52 lines (49 loc) • 6.88 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _matrix = require("matrix-js-sdk/src/matrix");
var _SettingsStore = _interopRequireDefault(require("../SettingsStore.ts"));
var _MatrixClientBackedController = _interopRequireDefault(require("./MatrixClientBackedController.ts"));
/*
Copyright 2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
/**
* Settings controller for the fallback ICE server setting.
* This setting may be forcibly disabled by well-known value ["io.element.voip"]["disable_fallback_ice"].
* This controller will update the MatrixClient's knowledge when the setting is changed.
*/
class FallbackIceServerController extends _MatrixClientBackedController.default {
constructor() {
super();
(0, _defineProperty2.default)(this, "disabled", false);
(0, _defineProperty2.default)(this, "checkWellKnown", wellKnown => {
this.disabled = !!wellKnown["io.element.voip"]?.["disable_fallback_ice"];
});
}
async initMatrixClient(newClient, oldClient) {
oldClient?.off(_matrix.ClientEvent.ClientWellKnown, this.checkWellKnown);
newClient.on(_matrix.ClientEvent.ClientWellKnown, this.checkWellKnown);
const wellKnown = newClient.getClientWellKnown();
if (wellKnown) this.checkWellKnown(wellKnown);
}
getValueOverride() {
if (this.disabled) {
return false;
}
return null; // no override
}
get settingDisabled() {
return this.disabled;
}
onChange(_level, _roomId, _newValue) {
this.client?.setFallbackICEServerAllowed(!!_SettingsStore.default.getValue("fallbackICEServerAllowed"));
}
}
exports.default = FallbackIceServerController;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWF0cml4IiwicmVxdWlyZSIsIl9TZXR0aW5nc1N0b3JlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9NYXRyaXhDbGllbnRCYWNrZWRDb250cm9sbGVyIiwiRmFsbGJhY2tJY2VTZXJ2ZXJDb250cm9sbGVyIiwiTWF0cml4Q2xpZW50QmFja2VkQ29udHJvbGxlciIsImNvbnN0cnVjdG9yIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJ3ZWxsS25vd24iLCJkaXNhYmxlZCIsImluaXRNYXRyaXhDbGllbnQiLCJuZXdDbGllbnQiLCJvbGRDbGllbnQiLCJvZmYiLCJDbGllbnRFdmVudCIsIkNsaWVudFdlbGxLbm93biIsImNoZWNrV2VsbEtub3duIiwib24iLCJnZXRDbGllbnRXZWxsS25vd24iLCJnZXRWYWx1ZU92ZXJyaWRlIiwic2V0dGluZ0Rpc2FibGVkIiwib25DaGFuZ2UiLCJfbGV2ZWwiLCJfcm9vbUlkIiwiX25ld1ZhbHVlIiwiY2xpZW50Iiwic2V0RmFsbGJhY2tJQ0VTZXJ2ZXJBbGxvd2VkIiwiU2V0dGluZ3NTdG9yZSIsImdldFZhbHVlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXR0aW5ncy9jb250cm9sbGVycy9GYWxsYmFja0ljZVNlcnZlckNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBDbGllbnRFdmVudCwgSUNsaWVudFdlbGxLbm93biwgTWF0cml4Q2xpZW50IH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuXG5pbXBvcnQgeyBTZXR0aW5nTGV2ZWwgfSBmcm9tIFwiLi4vU2V0dGluZ0xldmVsXCI7XG5pbXBvcnQgU2V0dGluZ3NTdG9yZSBmcm9tIFwiLi4vU2V0dGluZ3NTdG9yZS50c1wiO1xuaW1wb3J0IE1hdHJpeENsaWVudEJhY2tlZENvbnRyb2xsZXIgZnJvbSBcIi4vTWF0cml4Q2xpZW50QmFja2VkQ29udHJvbGxlci50c1wiO1xuXG4vKipcbiAqIFNldHRpbmdzIGNvbnRyb2xsZXIgZm9yIHRoZSBmYWxsYmFjayBJQ0Ugc2VydmVyIHNldHRpbmcuXG4gKiBUaGlzIHNldHRpbmcgbWF5IGJlIGZvcmNpYmx5IGRpc2FibGVkIGJ5IHdlbGwta25vd24gdmFsdWUgW1wiaW8uZWxlbWVudC52b2lwXCJdW1wiZGlzYWJsZV9mYWxsYmFja19pY2VcIl0uXG4gKiBUaGlzIGNvbnRyb2xsZXIgd2lsbCB1cGRhdGUgdGhlIE1hdHJpeENsaWVudCdzIGtub3dsZWRnZSB3aGVuIHRoZSBzZXR0aW5nIGlzIGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZhbGxiYWNrSWNlU2VydmVyQ29udHJvbGxlciBleHRlbmRzIE1hdHJpeENsaWVudEJhY2tlZENvbnRyb2xsZXIge1xuICAgIHByaXZhdGUgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrV2VsbEtub3duID0gKHdlbGxLbm93bjogSUNsaWVudFdlbGxLbm93bik6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gISF3ZWxsS25vd25bXCJpby5lbGVtZW50LnZvaXBcIl0/LltcImRpc2FibGVfZmFsbGJhY2tfaWNlXCJdO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgaW5pdE1hdHJpeENsaWVudChuZXdDbGllbnQ6IE1hdHJpeENsaWVudCwgb2xkQ2xpZW50PzogTWF0cml4Q2xpZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIG9sZENsaWVudD8ub2ZmKENsaWVudEV2ZW50LkNsaWVudFdlbGxLbm93biwgdGhpcy5jaGVja1dlbGxLbm93bik7XG4gICAgICAgIG5ld0NsaWVudC5vbihDbGllbnRFdmVudC5DbGllbnRXZWxsS25vd24sIHRoaXMuY2hlY2tXZWxsS25vd24pO1xuICAgICAgICBjb25zdCB3ZWxsS25vd24gPSBuZXdDbGllbnQuZ2V0Q2xpZW50V2VsbEtub3duKCk7XG4gICAgICAgIGlmICh3ZWxsS25vd24pIHRoaXMuY2hlY2tXZWxsS25vd24od2VsbEtub3duKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VmFsdWVPdmVycmlkZSgpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7IC8vIG5vIG92ZXJyaWRlXG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZXR0aW5nRGlzYWJsZWQoKTogYm9vbGVhbiB8IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZShfbGV2ZWw6IFNldHRpbmdMZXZlbCwgX3Jvb21JZDogc3RyaW5nIHwgbnVsbCwgX25ld1ZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGllbnQ/LnNldEZhbGxiYWNrSUNFU2VydmVyQWxsb3dlZCghIVNldHRpbmdzU3RvcmUuZ2V0VmFsdWUoXCJmYWxsYmFja0lDRVNlcnZlckFsbG93ZWRcIikpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFPQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFBQyxjQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyw2QkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDZSxNQUFNSSwyQkFBMkIsU0FBU0MscUNBQTRCLENBQUM7RUFHM0VDLFdBQVdBLENBQUEsRUFBRztJQUNqQixLQUFLLENBQUMsQ0FBQztJQUFDLElBQUFDLGdCQUFBLENBQUFDLE9BQUEsb0JBSE8sS0FBSztJQUFBLElBQUFELGdCQUFBLENBQUFDLE9BQUEsMEJBTUVDLFNBQTJCLElBQVc7TUFDNUQsSUFBSSxDQUFDQyxRQUFRLEdBQUcsQ0FBQyxDQUFDRCxTQUFTLENBQUMsaUJBQWlCLENBQUMsR0FBRyxzQkFBc0IsQ0FBQztJQUM1RSxDQUFDO0VBSkQ7RUFNQSxNQUFnQkUsZ0JBQWdCQSxDQUFDQyxTQUF1QixFQUFFQyxTQUF3QixFQUFpQjtJQUMvRkEsU0FBUyxFQUFFQyxHQUFHLENBQUNDLG1CQUFXLENBQUNDLGVBQWUsRUFBRSxJQUFJLENBQUNDLGNBQWMsQ0FBQztJQUNoRUwsU0FBUyxDQUFDTSxFQUFFLENBQUNILG1CQUFXLENBQUNDLGVBQWUsRUFBRSxJQUFJLENBQUNDLGNBQWMsQ0FBQztJQUM5RCxNQUFNUixTQUFTLEdBQUdHLFNBQVMsQ0FBQ08sa0JBQWtCLENBQUMsQ0FBQztJQUNoRCxJQUFJVixTQUFTLEVBQUUsSUFBSSxDQUFDUSxjQUFjLENBQUNSLFNBQVMsQ0FBQztFQUNqRDtFQUVPVyxnQkFBZ0JBLENBQUEsRUFBUTtJQUMzQixJQUFJLElBQUksQ0FBQ1YsUUFBUSxFQUFFO01BQ2YsT0FBTyxLQUFLO0lBQ2hCO0lBRUEsT0FBTyxJQUFJLENBQUMsQ0FBQztFQUNqQjtFQUVBLElBQVdXLGVBQWVBLENBQUEsRUFBcUI7SUFDM0MsT0FBTyxJQUFJLENBQUNYLFFBQVE7RUFDeEI7RUFFT1ksUUFBUUEsQ0FBQ0MsTUFBb0IsRUFBRUMsT0FBc0IsRUFBRUMsU0FBYyxFQUFRO0lBQ2hGLElBQUksQ0FBQ0MsTUFBTSxFQUFFQywyQkFBMkIsQ0FBQyxDQUFDLENBQUNDLHNCQUFhLENBQUNDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0VBQ2xHO0FBQ0o7QUFBQ0MsT0FBQSxDQUFBdEIsT0FBQSxHQUFBSiwyQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==