disable creation and enabling of e2ee if remote preference for disabling it is true

This commit is contained in:
Mauro Romito
2026-07-13 14:03:15 +02:00
committed by Mauro
parent 3ba5c08c13
commit b730815842
5 changed files with 23 additions and 5 deletions
@@ -24,6 +24,7 @@ nonisolated protocol CommonSettingsProtocol: AnyObject, Sendable {
var traceLogPacks: Set<TraceLogPack> { get }
var bugReportRageshakeURL: RemotePreference<RageshakeConfiguration> { get }
var contentScannerURL: RemotePreference<URL?> { get }
var forceDisableE2EE: RemotePreference<Bool> { get }
var enableOnlySignedDeviceIsolationMode: Bool { get }
var threadsEnabled: Bool { get }
@@ -272,6 +273,12 @@ final nonisolated class AppSettings: @unchecked Sendable {
/// `nil` when content scanning is disabled.
let contentScannerURL: RemotePreference<URL?> = .init(nil)
// MARK: - Encryption
/// Whether the server forbids the use of E2EE: new rooms are created unencrypted and
/// enabling encryption on existing rooms is not offered.
let forceDisableE2EE: RemotePreference<Bool> = .init(false)
// MARK: - Analytics
/// The configuration to use for analytics. Set to `nil` to disable analytics.