Add a developer option for history sharing on invite

Adds a new developer flag, enabling our experimental support for MSC4268.
This commit is contained in:
Richard van der Hoff
2025-06-05 13:34:33 +01:00
committed by Stefan Ceriu
parent db3f9f4d26
commit 394eb008ab
7 changed files with 25 additions and 3 deletions
@@ -17,6 +17,7 @@ protocol CommonSettingsProtocol {
var logLevel: LogLevel { get }
var traceLogPacks: Set<TraceLogPack> { get }
var enableOnlySignedDeviceIsolationMode: Bool { get }
var enableKeyShareOnInvite: Bool { get }
var hideQuietNotificationAlerts: Bool { get }
}
@@ -52,6 +53,7 @@ final class AppSettings {
case publicSearchEnabled
case fuzzyRoomListSearchEnabled
case enableOnlySignedDeviceIsolationMode
case enableKeyShareOnInvite
case knockingEnabled
case threadsEnabled
case developerOptionsEnabled
@@ -363,7 +365,11 @@ final class AppSettings {
/// Configuration to enable only signed device isolation mode for crypto. In this mode only devices signed by their owner will be considered in e2ee rooms.
@UserPreference(key: UserDefaultsKeys.enableOnlySignedDeviceIsolationMode, defaultValue: false, storageType: .userDefaults(store))
var enableOnlySignedDeviceIsolationMode
/// Configuration to enable encrypted history sharing on invite, and accepting keys from inviters.
@UserPreference(key: UserDefaultsKeys.enableKeyShareOnInvite, defaultValue: false, storageType: .userDefaults(store))
var enableKeyShareOnInvite
@UserPreference(key: UserDefaultsKeys.hideQuietNotificationAlerts, defaultValue: false, storageType: .userDefaults(store))
var hideQuietNotificationAlerts
}