UNPKG

matrix-react-sdk

Version:
75 lines (69 loc) 11.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TILE_SERVER_WK_KEY = exports.SecureBackupSetupMethod = void 0; exports.embeddedPagesFromWellKnown = embeddedPagesFromWellKnown; exports.getCallBehaviourWellKnown = getCallBehaviourWellKnown; exports.getE2EEWellKnown = getE2EEWellKnown; exports.getEmbeddedPagesWellKnown = getEmbeddedPagesWellKnown; exports.getSecureBackupSetupMethods = getSecureBackupSetupMethods; exports.getTileServerWellKnown = getTileServerWellKnown; exports.isSecureBackupRequired = isSecureBackupRequired; exports.tileServerFromWellKnown = tileServerFromWellKnown; var _NamespacedValue = require("matrix-js-sdk/src/NamespacedValue"); /* Copyright 2024 New Vector Ltd. Copyright 2020 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 CALL_BEHAVIOUR_WK_KEY = "io.element.call_behaviour"; const E2EE_WK_KEY = "io.element.e2ee"; const E2EE_WK_KEY_DEPRECATED = "im.vector.riot.e2ee"; const TILE_SERVER_WK_KEY = exports.TILE_SERVER_WK_KEY = new _NamespacedValue.UnstableValue("m.tile_server", "org.matrix.msc3488.tile_server"); const EMBEDDED_PAGES_WK_PROPERTY = "io.element.embedded_pages"; /* eslint-disable camelcase */ /* eslint-enable camelcase */ function getCallBehaviourWellKnown(matrixClient) { const clientWellKnown = matrixClient.getClientWellKnown(); return clientWellKnown?.[CALL_BEHAVIOUR_WK_KEY]; } function getE2EEWellKnown(matrixClient) { const clientWellKnown = matrixClient.getClientWellKnown(); if (clientWellKnown?.[E2EE_WK_KEY]) { return clientWellKnown[E2EE_WK_KEY]; } if (clientWellKnown?.[E2EE_WK_KEY_DEPRECATED]) { return clientWellKnown[E2EE_WK_KEY_DEPRECATED]; } return null; } function getTileServerWellKnown(matrixClient) { return tileServerFromWellKnown(matrixClient.getClientWellKnown()); } function tileServerFromWellKnown(clientWellKnown) { return clientWellKnown?.[TILE_SERVER_WK_KEY.name] ?? clientWellKnown?.[TILE_SERVER_WK_KEY.altName]; } function getEmbeddedPagesWellKnown(matrixClient) { return embeddedPagesFromWellKnown(matrixClient?.getClientWellKnown()); } function embeddedPagesFromWellKnown(clientWellKnown) { return clientWellKnown?.[EMBEDDED_PAGES_WK_PROPERTY]; } function isSecureBackupRequired(matrixClient) { return getE2EEWellKnown(matrixClient)?.["secure_backup_required"] === true; } let SecureBackupSetupMethod = exports.SecureBackupSetupMethod = /*#__PURE__*/function (SecureBackupSetupMethod) { SecureBackupSetupMethod["Key"] = "key"; SecureBackupSetupMethod["Passphrase"] = "passphrase"; return SecureBackupSetupMethod; }({}); function getSecureBackupSetupMethods(matrixClient) { const wellKnown = getE2EEWellKnown(matrixClient); if (!wellKnown || !wellKnown["secure_backup_setup_methods"] || !wellKnown["secure_backup_setup_methods"].length || !(wellKnown["secure_backup_setup_methods"].includes(SecureBackupSetupMethod.Key) || wellKnown["secure_backup_setup_methods"].includes(SecureBackupSetupMethod.Passphrase))) { return [SecureBackupSetupMethod.Key, SecureBackupSetupMethod.Passphrase]; } return wellKnown["secure_backup_setup_methods"]; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTmFtZXNwYWNlZFZhbHVlIiwicmVxdWlyZSIsIkNBTExfQkVIQVZJT1VSX1dLX0tFWSIsIkUyRUVfV0tfS0VZIiwiRTJFRV9XS19LRVlfREVQUkVDQVRFRCIsIlRJTEVfU0VSVkVSX1dLX0tFWSIsImV4cG9ydHMiLCJVbnN0YWJsZVZhbHVlIiwiRU1CRURERURfUEFHRVNfV0tfUFJPUEVSVFkiLCJnZXRDYWxsQmVoYXZpb3VyV2VsbEtub3duIiwibWF0cml4Q2xpZW50IiwiY2xpZW50V2VsbEtub3duIiwiZ2V0Q2xpZW50V2VsbEtub3duIiwiZ2V0RTJFRVdlbGxLbm93biIsImdldFRpbGVTZXJ2ZXJXZWxsS25vd24iLCJ0aWxlU2VydmVyRnJvbVdlbGxLbm93biIsIm5hbWUiLCJhbHROYW1lIiwiZ2V0RW1iZWRkZWRQYWdlc1dlbGxLbm93biIsImVtYmVkZGVkUGFnZXNGcm9tV2VsbEtub3duIiwiaXNTZWN1cmVCYWNrdXBSZXF1aXJlZCIsIlNlY3VyZUJhY2t1cFNldHVwTWV0aG9kIiwiZ2V0U2VjdXJlQmFja3VwU2V0dXBNZXRob2RzIiwid2VsbEtub3duIiwibGVuZ3RoIiwiaW5jbHVkZXMiLCJLZXkiLCJQYXNzcGhyYXNlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1dlbGxLbm93blV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IElDbGllbnRXZWxsS25vd24sIE1hdHJpeENsaWVudCB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcbmltcG9ydCB7IFVuc3RhYmxlVmFsdWUgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvTmFtZXNwYWNlZFZhbHVlXCI7XG5cbmNvbnN0IENBTExfQkVIQVZJT1VSX1dLX0tFWSA9IFwiaW8uZWxlbWVudC5jYWxsX2JlaGF2aW91clwiO1xuY29uc3QgRTJFRV9XS19LRVkgPSBcImlvLmVsZW1lbnQuZTJlZVwiO1xuY29uc3QgRTJFRV9XS19LRVlfREVQUkVDQVRFRCA9IFwiaW0udmVjdG9yLnJpb3QuZTJlZVwiO1xuZXhwb3J0IGNvbnN0IFRJTEVfU0VSVkVSX1dLX0tFWSA9IG5ldyBVbnN0YWJsZVZhbHVlKFwibS50aWxlX3NlcnZlclwiLCBcIm9yZy5tYXRyaXgubXNjMzQ4OC50aWxlX3NlcnZlclwiKTtcbmNvbnN0IEVNQkVEREVEX1BBR0VTX1dLX1BST1BFUlRZID0gXCJpby5lbGVtZW50LmVtYmVkZGVkX3BhZ2VzXCI7XG5cbi8qIGVzbGludC1kaXNhYmxlIGNhbWVsY2FzZSAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2FsbEJlaGF2aW91cldlbGxLbm93biB7XG4gICAgd2lkZ2V0X2J1aWxkX3VybD86IHN0cmluZztcbiAgICBpZ25vcmVfZG0/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFMkVFV2VsbEtub3duIHtcbiAgICBkZWZhdWx0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBGb3JjZXMgdGhlIGVuY3J5cHRpb24gdG8gZGlzYWJsZWQgZm9yIGFsbCBuZXcgcm9vbXNcbiAgICAgKiBXaGVuIHRydWUsIG92ZXJyaWRlcyBjb25maWd1cmVkICdkZWZhdWx0JyBiZWhhdmlvdXJcbiAgICAgKiBIaWRlcyB0aGUgb3B0aW9uIHRvIGVuYWJsZSBlbmNyeXB0aW9uIG9uIHJvb20gY3JlYXRpb25cbiAgICAgKiBEaXNhYmxlcyB0aGUgb3B0aW9uIHRvIGVuYWJsZSBlbmNyeXB0aW9uIGluIHJvb20gc2V0dGluZ3MgZm9yIGFsbCBuZXcgYW5kIGV4aXN0aW5nIHJvb21zXG4gICAgICovXG4gICAgZm9yY2VfZGlzYWJsZT86IGJvb2xlYW47XG4gICAgc2VjdXJlX2JhY2t1cF9yZXF1aXJlZD86IGJvb2xlYW47XG4gICAgc2VjdXJlX2JhY2t1cF9zZXR1cF9tZXRob2RzPzogU2VjdXJlQmFja3VwU2V0dXBNZXRob2RbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGlsZVNlcnZlcldlbGxLbm93biB7XG4gICAgbWFwX3N0eWxlX3VybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW1iZWRkZWRQYWdlc1dlbGxLbm93biB7XG4gICAgaG9tZV91cmw/OiBzdHJpbmc7XG59XG4vKiBlc2xpbnQtZW5hYmxlIGNhbWVsY2FzZSAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FsbEJlaGF2aW91cldlbGxLbm93bihtYXRyaXhDbGllbnQ6IE1hdHJpeENsaWVudCk6IElDYWxsQmVoYXZpb3VyV2VsbEtub3duIHtcbiAgICBjb25zdCBjbGllbnRXZWxsS25vd24gPSBtYXRyaXhDbGllbnQuZ2V0Q2xpZW50V2VsbEtub3duKCk7XG4gICAgcmV0dXJuIGNsaWVudFdlbGxLbm93bj8uW0NBTExfQkVIQVZJT1VSX1dLX0tFWV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFMkVFV2VsbEtub3duKG1hdHJpeENsaWVudDogTWF0cml4Q2xpZW50KTogSUUyRUVXZWxsS25vd24gfCBudWxsIHtcbiAgICBjb25zdCBjbGllbnRXZWxsS25vd24gPSBtYXRyaXhDbGllbnQuZ2V0Q2xpZW50V2VsbEtub3duKCk7XG4gICAgaWYgKGNsaWVudFdlbGxLbm93bj8uW0UyRUVfV0tfS0VZXSkge1xuICAgICAgICByZXR1cm4gY2xpZW50V2VsbEtub3duW0UyRUVfV0tfS0VZXTtcbiAgICB9XG4gICAgaWYgKGNsaWVudFdlbGxLbm93bj8uW0UyRUVfV0tfS0VZX0RFUFJFQ0FURURdKSB7XG4gICAgICAgIHJldHVybiBjbGllbnRXZWxsS25vd25bRTJFRV9XS19LRVlfREVQUkVDQVRFRF07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGlsZVNlcnZlcldlbGxLbm93bihtYXRyaXhDbGllbnQ6IE1hdHJpeENsaWVudCk6IElUaWxlU2VydmVyV2VsbEtub3duIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGlsZVNlcnZlckZyb21XZWxsS25vd24obWF0cml4Q2xpZW50LmdldENsaWVudFdlbGxLbm93bigpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRpbGVTZXJ2ZXJGcm9tV2VsbEtub3duKGNsaWVudFdlbGxLbm93bj86IElDbGllbnRXZWxsS25vd24gfCB1bmRlZmluZWQpOiBJVGlsZVNlcnZlcldlbGxLbm93biB7XG4gICAgcmV0dXJuIGNsaWVudFdlbGxLbm93bj8uW1RJTEVfU0VSVkVSX1dLX0tFWS5uYW1lXSA/PyBjbGllbnRXZWxsS25vd24/LltUSUxFX1NFUlZFUl9XS19LRVkuYWx0TmFtZV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbWJlZGRlZFBhZ2VzV2VsbEtub3duKG1hdHJpeENsaWVudDogTWF0cml4Q2xpZW50IHwgdW5kZWZpbmVkKTogSUVtYmVkZGVkUGFnZXNXZWxsS25vd24gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBlbWJlZGRlZFBhZ2VzRnJvbVdlbGxLbm93bihtYXRyaXhDbGllbnQ/LmdldENsaWVudFdlbGxLbm93bigpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYmVkZGVkUGFnZXNGcm9tV2VsbEtub3duKGNsaWVudFdlbGxLbm93bj86IElDbGllbnRXZWxsS25vd24pOiBJRW1iZWRkZWRQYWdlc1dlbGxLbm93biB7XG4gICAgcmV0dXJuIGNsaWVudFdlbGxLbm93bj8uW0VNQkVEREVEX1BBR0VTX1dLX1BST1BFUlRZXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VjdXJlQmFja3VwUmVxdWlyZWQobWF0cml4Q2xpZW50OiBNYXRyaXhDbGllbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZ2V0RTJFRVdlbGxLbm93bihtYXRyaXhDbGllbnQpPy5bXCJzZWN1cmVfYmFja3VwX3JlcXVpcmVkXCJdID09PSB0cnVlO1xufVxuXG5leHBvcnQgZW51bSBTZWN1cmVCYWNrdXBTZXR1cE1ldGhvZCB7XG4gICAgS2V5ID0gXCJrZXlcIixcbiAgICBQYXNzcGhyYXNlID0gXCJwYXNzcGhyYXNlXCIsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWN1cmVCYWNrdXBTZXR1cE1ldGhvZHMobWF0cml4Q2xpZW50OiBNYXRyaXhDbGllbnQpOiBTZWN1cmVCYWNrdXBTZXR1cE1ldGhvZFtdIHtcbiAgICBjb25zdCB3ZWxsS25vd24gPSBnZXRFMkVFV2VsbEtub3duKG1hdHJpeENsaWVudCk7XG4gICAgaWYgKFxuICAgICAgICAhd2VsbEtub3duIHx8XG4gICAgICAgICF3ZWxsS25vd25bXCJzZWN1cmVfYmFja3VwX3NldHVwX21ldGhvZHNcIl0gfHxcbiAgICAgICAgIXdlbGxLbm93bltcInNlY3VyZV9iYWNrdXBfc2V0dXBfbWV0aG9kc1wiXS5sZW5ndGggfHxcbiAgICAgICAgIShcbiAgICAgICAgICAgIHdlbGxLbm93bltcInNlY3VyZV9iYWNrdXBfc2V0dXBfbWV0aG9kc1wiXS5pbmNsdWRlcyhTZWN1cmVCYWNrdXBTZXR1cE1ldGhvZC5LZXkpIHx8XG4gICAgICAgICAgICB3ZWxsS25vd25bXCJzZWN1cmVfYmFja3VwX3NldHVwX21ldGhvZHNcIl0uaW5jbHVkZXMoU2VjdXJlQmFja3VwU2V0dXBNZXRob2QuUGFzc3BocmFzZSlcbiAgICAgICAgKVxuICAgICkge1xuICAgICAgICByZXR1cm4gW1NlY3VyZUJhY2t1cFNldHVwTWV0aG9kLktleSwgU2VjdXJlQmFja3VwU2V0dXBNZXRob2QuUGFzc3BocmFzZV07XG4gICAgfVxuICAgIHJldHVybiB3ZWxsS25vd25bXCJzZWN1cmVfYmFja3VwX3NldHVwX21ldGhvZHNcIl07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7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