Files
element-web/src/utils/crypto/shouldForceDisableEncryption.ts
David Langley 69ee8fd96a Change License: AGPL + Element Commercial (#28856)
* Add commercial licence and update config files

* Update license in headers

* Revert "Update license in headers"

This reverts commit 7ed7949485.

* Update only spdx id

* Remove LicenseRef- from package.json

LicenseRef- no longer allowed in npm v3 package.json
This fixes the warning in the logs and failing build check.
2025-01-06 11:18:54 +00:00

32 lines
1.1 KiB
TypeScript

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
import { MatrixClient } from "matrix-js-sdk/src/matrix";
import { getE2EEWellKnown } from "../WellKnownUtils";
/**
* Check e2ee io.element.e2ee setting
* Returns true when .well-known e2ee config force_disable is TRUE
* When true all new rooms should be created with encryption disabled
* Can be overriden by synapse option encryption_enabled_by_default_for_room_type ( :/ )
* https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#encryption_enabled_by_default_for_room_type
*
* @param client
* @returns whether well-known config forces encryption to DISABLED
*/
export function shouldForceDisableEncryption(client: MatrixClient): boolean {
const e2eeWellKnown = getE2EEWellKnown(client);
if (e2eeWellKnown) {
const shouldForceDisable = e2eeWellKnown["force_disable"] === true;
return shouldForceDisable;
}
return false;
}