Merge pull request #2875 from vector-im/riot_2855

ON/OFF Cross-signing development in a Lab setting
This commit is contained in:
SBiOSoftWhare 2019-12-06 15:22:18 +01:00 committed by GitHub
commit 9069b19aaf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 69 additions and 0 deletions

View file

@ -1,6 +1,8 @@
Changes in 0.10.4 (2019-xx-xx)
===============================================
Improvements:
* ON/OFF Cross-signing development in a Lab setting (#2855).
Changes in 0.10.3 (2019-12-05)
===============================================

View file

@ -458,6 +458,8 @@
"settings_labs_room_members_lazy_loading_error_message" = "Your homeserver does not support lazy loading of room members yet. Try later.";
"settings_labs_create_conference_with_jitsi" = "Create conference calls with jitsi";
"settings_labs_message_reaction" = "React to messages with emoji";
"settings_labs_dm_key_verification" = "Key verification by direct message";
"settings_labs_cross_signing" = "Cross-Signing";
"settings_version" = "Version %@";
"settings_olm_version" = "Olm Version %@";

View file

@ -2970,6 +2970,14 @@ internal enum VectorL10n {
internal static var settingsLabsCreateConferenceWithJitsi: String {
return VectorL10n.tr("Vector", "settings_labs_create_conference_with_jitsi")
}
/// Cross-Signing
internal static var settingsLabsCrossSigning: String {
return VectorL10n.tr("Vector", "settings_labs_cross_signing")
}
/// Key verification by direct message
internal static var settingsLabsDmKeyVerification: String {
return VectorL10n.tr("Vector", "settings_labs_dm_key_verification")
}
/// End-to-End Encryption
internal static var settingsLabsE2eEncryption: String {
return VectorL10n.tr("Vector", "settings_labs_e2e_encryption")

View file

@ -32,6 +32,8 @@ final class RiotSettings: NSObject {
static let pinRoomsWithUnreadMessages = "pinRoomsWithUnread"
static let allowStunServerFallback = "allowStunServerFallback"
static let stunServerFallback = "stunServerFallback"
static let enableCrossSigning = "enableCrossSigning"
static let enableDMKeyVerification = "enableDMKeyVerification"
}
/// Riot Standard Room Member Power Level
@ -121,7 +123,22 @@ final class RiotSettings: NSObject {
UserDefaults.standard.set(newValue, forKey: UserDefaultsKeys.createConferenceCallsWithJitsi)
}
}
var enableDMKeyVerification: Bool {
get {
return UserDefaults.standard.bool(forKey: UserDefaultsKeys.enableDMKeyVerification)
} set {
UserDefaults.standard.set(newValue, forKey: UserDefaultsKeys.enableDMKeyVerification)
}
}
var enableCrossSigning: Bool {
get {
return UserDefaults.standard.bool(forKey: UserDefaultsKeys.enableCrossSigning)
} set {
UserDefaults.standard.set(newValue, forKey: UserDefaultsKeys.enableCrossSigning)
}
}
// MARK: Calls

View file

@ -137,6 +137,8 @@ enum
LABS_USE_ROOM_MEMBERS_LAZY_LOADING_INDEX = 0,
LABS_USE_JITSI_WIDGET_INDEX,
LABS_CRYPTO_INDEX,
LABS_DM_KEY_VERIFICATION_INDEX,
LABS_CROSS_SIGNING_INDEX,
LABS_COUNT
};
@ -2445,6 +2447,30 @@ SettingsIdentityServerCoordinatorBridgePresenterDelegate>
labelAndSwitchCell.mxkSwitch.enabled = NO;
}
cell = labelAndSwitchCell;
}
else if (row == LABS_DM_KEY_VERIFICATION_INDEX)
{
MXKTableViewCellWithLabelAndSwitch* labelAndSwitchCell = [self getLabelAndSwitchCell:tableView forIndexPath:indexPath];
labelAndSwitchCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_labs_dm_key_verification", @"Vector", nil);
labelAndSwitchCell.mxkSwitch.on = RiotSettings.shared.enableDMKeyVerification;
labelAndSwitchCell.mxkSwitch.onTintColor = ThemeService.shared.theme.tintColor;
[labelAndSwitchCell.mxkSwitch addTarget:self action:@selector(toggleLabsDMKeyVerification:) forControlEvents:UIControlEventTouchUpInside];
cell = labelAndSwitchCell;
}
else if (row == LABS_CROSS_SIGNING_INDEX)
{
MXKTableViewCellWithLabelAndSwitch* labelAndSwitchCell = [self getLabelAndSwitchCell:tableView forIndexPath:indexPath];
labelAndSwitchCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_labs_cross_signing", @"Vector", nil);
labelAndSwitchCell.mxkSwitch.on = RiotSettings.shared.enableCrossSigning;
labelAndSwitchCell.mxkSwitch.onTintColor = ThemeService.shared.theme.tintColor;
[labelAndSwitchCell.mxkSwitch addTarget:self action:@selector(toggleLabsCrossSigning:) forControlEvents:UIControlEventTouchUpInside];
cell = labelAndSwitchCell;
}
}
@ -3497,6 +3523,20 @@ SettingsIdentityServerCoordinatorBridgePresenterDelegate>
}
}
}
- (void)toggleLabsDMKeyVerification:(id)sender
{
UISwitch *switchButton = (UISwitch*)sender;
RiotSettings.shared.enableDMKeyVerification = switchButton.isOn;
}
- (void)toggleLabsCrossSigning:(id)sender
{
UISwitch *switchButton = (UISwitch*)sender;
RiotSettings.shared.enableCrossSigning = switchButton.isOn;
}
- (void)toggleBlacklistUnverifiedDevices:(id)sender
{