matrix-react-sdk
Version:
SDK for matrix.org using React
42 lines (39 loc) • 5.41 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
exports.setDeviceIsolationMode = setDeviceIsolationMode;
var _cryptoApi = require("matrix-js-sdk/src/crypto-api");
var _SettingController = _interopRequireDefault(require("./SettingController"));
var _MatrixClientPeg = require("../../MatrixClientPeg");
/*
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.
*/
/**
* A controller for the "exclude_insecure_devices" setting, which will
* update the crypto stack's device isolation mode on change.
*/
class DeviceIsolationModeController extends _SettingController.default {
onChange(level, roomId, newValue) {
setDeviceIsolationMode(_MatrixClientPeg.MatrixClientPeg.safeGet(), newValue);
}
}
/**
* Set the crypto stack's device isolation mode based on the current value of the
* "exclude_insecure_devices" setting.
*
* @param client - MatrixClient to update to the new setting.
* @param settingValue - value of the "exclude_insecure_devices" setting.
*/
exports.default = DeviceIsolationModeController;
function setDeviceIsolationMode(client, settingValue) {
client.getCrypto()?.setDeviceIsolationMode(settingValue ? new _cryptoApi.OnlySignedDevicesIsolationMode() :
// TODO: As part of https://github.com/element-hq/element-meta/issues/2492, we will change
// `errorOnVerifiedUserProblems` to `true`, but we need to have better UI in place before we can do so.
new _cryptoApi.AllDevicesIsolationMode(false));
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3J5cHRvQXBpIiwicmVxdWlyZSIsIl9TZXR0aW5nQ29udHJvbGxlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfTWF0cml4Q2xpZW50UGVnIiwiRGV2aWNlSXNvbGF0aW9uTW9kZUNvbnRyb2xsZXIiLCJTZXR0aW5nQ29udHJvbGxlciIsIm9uQ2hhbmdlIiwibGV2ZWwiLCJyb29tSWQiLCJuZXdWYWx1ZSIsInNldERldmljZUlzb2xhdGlvbk1vZGUiLCJNYXRyaXhDbGllbnRQZWciLCJzYWZlR2V0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJjbGllbnQiLCJzZXR0aW5nVmFsdWUiLCJnZXRDcnlwdG8iLCJPbmx5U2lnbmVkRGV2aWNlc0lzb2xhdGlvbk1vZGUiLCJBbGxEZXZpY2VzSXNvbGF0aW9uTW9kZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXR0aW5ncy9jb250cm9sbGVycy9EZXZpY2VJc29sYXRpb25Nb2RlQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBBbGxEZXZpY2VzSXNvbGF0aW9uTW9kZSwgT25seVNpZ25lZERldmljZXNJc29sYXRpb25Nb2RlIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL2NyeXB0by1hcGlcIjtcbmltcG9ydCB7IE1hdHJpeENsaWVudCB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IFNldHRpbmdDb250cm9sbGVyIGZyb20gXCIuL1NldHRpbmdDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBNYXRyaXhDbGllbnRQZWcgfSBmcm9tIFwiLi4vLi4vTWF0cml4Q2xpZW50UGVnXCI7XG5pbXBvcnQgeyBTZXR0aW5nTGV2ZWwgfSBmcm9tIFwiLi4vU2V0dGluZ0xldmVsXCI7XG5cbi8qKlxuICogQSBjb250cm9sbGVyIGZvciB0aGUgXCJleGNsdWRlX2luc2VjdXJlX2RldmljZXNcIiBzZXR0aW5nLCB3aGljaCB3aWxsXG4gKiB1cGRhdGUgdGhlIGNyeXB0byBzdGFjaydzIGRldmljZSBpc29sYXRpb24gbW9kZSBvbiBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERldmljZUlzb2xhdGlvbk1vZGVDb250cm9sbGVyIGV4dGVuZHMgU2V0dGluZ0NvbnRyb2xsZXIge1xuICAgIHB1YmxpYyBvbkNoYW5nZShsZXZlbDogU2V0dGluZ0xldmVsLCByb29tSWQ6IHN0cmluZywgbmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBzZXREZXZpY2VJc29sYXRpb25Nb2RlKE1hdHJpeENsaWVudFBlZy5zYWZlR2V0KCksIG5ld1ZhbHVlKTtcbiAgICB9XG59XG5cbi8qKlxuICogU2V0IHRoZSBjcnlwdG8gc3RhY2sncyBkZXZpY2UgaXNvbGF0aW9uIG1vZGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlXG4gKiBcImV4Y2x1ZGVfaW5zZWN1cmVfZGV2aWNlc1wiIHNldHRpbmcuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIE1hdHJpeENsaWVudCB0byB1cGRhdGUgdG8gdGhlIG5ldyBzZXR0aW5nLlxuICogQHBhcmFtIHNldHRpbmdWYWx1ZSAtIHZhbHVlIG9mIHRoZSBcImV4Y2x1ZGVfaW5zZWN1cmVfZGV2aWNlc1wiIHNldHRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXREZXZpY2VJc29sYXRpb25Nb2RlKGNsaWVudDogTWF0cml4Q2xpZW50LCBzZXR0aW5nVmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjbGllbnQuZ2V0Q3J5cHRvKCk/LnNldERldmljZUlzb2xhdGlvbk1vZGUoXG4gICAgICAgIHNldHRpbmdWYWx1ZVxuICAgICAgICAgICAgPyBuZXcgT25seVNpZ25lZERldmljZXNJc29sYXRpb25Nb2RlKClcbiAgICAgICAgICAgIDogLy8gVE9ETzogQXMgcGFydCBvZiBodHRwczovL2dpdGh1Yi5jb20vZWxlbWVudC1ocS9lbGVtZW50LW1ldGEvaXNzdWVzLzI0OTIsIHdlIHdpbGwgY2hhbmdlXG4gICAgICAgICAgICAgIC8vICAgYGVycm9yT25WZXJpZmllZFVzZXJQcm9ibGVtc2AgdG8gYHRydWVgLCBidXQgd2UgbmVlZCB0byBoYXZlIGJldHRlciBVSSBpbiBwbGFjZSBiZWZvcmUgd2UgY2FuIGRvIHNvLlxuICAgICAgICAgICAgICBuZXcgQWxsRGV2aWNlc0lzb2xhdGlvbk1vZGUoZmFsc2UpLFxuICAgICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBTUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBR0EsSUFBQUMsa0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTUksNkJBQTZCLFNBQVNDLDBCQUFpQixDQUFDO0VBQ2xFQyxRQUFRQSxDQUFDQyxLQUFtQixFQUFFQyxNQUFjLEVBQUVDLFFBQWEsRUFBUTtJQUN0RUMsc0JBQXNCLENBQUNDLGdDQUFlLENBQUNDLE9BQU8sQ0FBQyxDQUFDLEVBQUVILFFBQVEsQ0FBQztFQUMvRDtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkFJLE9BQUEsQ0FBQUMsT0FBQSxHQUFBViw2QkFBQTtBQU9PLFNBQVNNLHNCQUFzQkEsQ0FBQ0ssTUFBb0IsRUFBRUMsWUFBcUIsRUFBUTtFQUN0RkQsTUFBTSxDQUFDRSxTQUFTLENBQUMsQ0FBQyxFQUFFUCxzQkFBc0IsQ0FDdENNLFlBQVksR0FDTixJQUFJRSx5Q0FBOEIsQ0FBQyxDQUFDO0VBQ3BDO0VBQ0E7RUFDQSxJQUFJQyxrQ0FBdUIsQ0FBQyxLQUFLLENBQzNDLENBQUM7QUFDTCIsImlnbm9yZUxpc3QiOltdfQ==