UNPKG

matrix-react-sdk

Version:
52 lines (49 loc) 6.88 kB
"use strict"; 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==