Merge branch 'feature/3418_text_changes_chrosssigning' into 'develop'

MESSENGER-3418 text changes chrosssigning

See merge request bwmessenger/bundesmessenger/bundesmessenger-ios!69
This commit is contained in:
Frank Rotermund
2023-01-11 13:11:20 +00:00
17 changed files with 126 additions and 85 deletions
+1 -1
View File
@@ -403,7 +403,7 @@ class BWIBuildSettings: NSObject {
var authScreenShowSocialLoginSection = false
// MARK: - Cross-signing (bwi=true)
var disableSelfUserVerification = true
var disableSelfUserVerification = false
// MARK: - Antivirus scan (bwi=true)
+29 -14
View File
@@ -38,6 +38,7 @@ PODS:
- DTFoundation/Core
- DTFoundation/UIKit (1.7.18):
- DTFoundation/Core
- DTTJailbreakDetection (0.4.0)
- FLEX (4.5.0)
- FlowCommoniOS (1.12.2)
- GBDeviceInfo (7.1.0):
@@ -55,9 +56,12 @@ PODS:
- LoggerAPI (1.9.200):
- Logging (~> 1.1)
- Logging (1.4.0)
- MatrixSDK (0.24.5):
- MatrixSDK/Core (= 0.24.5)
- MatrixSDK/Core (0.24.5):
- MatomoTracker (7.4.1):
- MatomoTracker/Core (= 7.4.1)
- MatomoTracker/Core (7.4.1)
- MatrixSDK (0.24.6):
- MatrixSDK/Core (= 0.24.6)
- MatrixSDK/Core (0.24.6):
- AFNetworking (~> 4.0.0)
- GZIP (~> 1.3.0)
- libbase58 (~> 0.1.4)
@@ -65,12 +69,12 @@ PODS:
- OLMKit (~> 3.2.5)
- Realm (= 10.27.0)
- SwiftyBeaver (= 1.9.5)
- MatrixSDK/CryptoSDK (0.24.5):
- MatrixSDKCrypto (= 0.1.5)
- MatrixSDK/JingleCallStack (0.24.5):
- MatrixSDK/CryptoSDK (0.24.6):
- MatrixSDKCrypto (= 0.1.6)
- MatrixSDK/JingleCallStack (0.24.6):
- JitsiMeetSDK (= 5.0.2)
- MatrixSDK/Core
- MatrixSDKCrypto (0.1.5)
- MatrixSDKCrypto (0.1.6)
- OLMKit (3.2.12):
- OLMKit/olmc (= 3.2.12)
- OLMKit/olmcpp (= 3.2.12)
@@ -115,6 +119,7 @@ DEPENDENCIES:
- DSBottomSheet (~> 0.3)
- DSWaveformImage (~> 6.1.1)
- DTCoreText (~> 1.6.25)
- DTTJailbreakDetection (~> 0.4.0)
- FLEX (~> 4.5.0)
- FlowCommoniOS (~> 1.12.0)
- GBDeviceInfo (~> 7.1.0)
@@ -122,8 +127,9 @@ DEPENDENCIES:
- KeychainAccess (~> 4.2.2)
- KTCenterFlowLayout (~> 1.3.1)
- libPhoneNumber-iOS (~> 0.9.13)
- MatrixSDK (= 0.24.5)
- MatrixSDK/JingleCallStack (= 0.24.5)
- MatomoTracker (~> 7.4.1)
- MatrixSDK (from `https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk`, tag `v0.24.6_bwi_beta`)
- MatrixSDK/JingleCallStack (from `https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk`, tag `v0.24.6_bwi_beta`)
- OLMKit
- PostHog (~> 1.4.4)
- ReadMoreTextView (~> 3.0.1)
@@ -152,6 +158,7 @@ SPEC REPOS:
- DSWaveformImage
- DTCoreText
- DTFoundation
- DTTJailbreakDetection
- FLEX
- FlowCommoniOS
- GBDeviceInfo
@@ -165,7 +172,7 @@ SPEC REPOS:
- libPhoneNumber-iOS
- LoggerAPI
- Logging
- MatrixSDK
- MatomoTracker
- MatrixSDKCrypto
- OLMKit
- PostHog
@@ -190,11 +197,17 @@ EXTERNAL SOURCES:
AnalyticsEvents:
:branch: release/swift
:git: https://github.com/matrix-org/matrix-analytics-events.git
MatrixSDK:
:git: https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk
:tag: v0.24.6_bwi_beta
CHECKOUT OPTIONS:
AnalyticsEvents:
:commit: 53ad46ba1ea1ee8f21139dda3c351890846a202f
:git: https://github.com/matrix-org/matrix-analytics-events.git
MatrixSDK:
:git: https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk
:tag: v0.24.6_bwi_beta
SPEC CHECKSUMS:
AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce
@@ -207,6 +220,7 @@ SPEC CHECKSUMS:
DSWaveformImage: 3c718a0cf99291887ee70d1d0c18d80101d3d9ce
DTCoreText: ec749e013f2e1f76de5e7c7634642e600a7467ce
DTFoundation: a53f8cda2489208cbc71c648be177f902ee17536
DTTJailbreakDetection: 5e356c5badc17995f65a83ed9483f787a0057b71
FLEX: e51461dd6f0bfb00643c262acdfea5d5d12c596b
FlowCommoniOS: ca92071ab526dc89905495a37844fd7e78d1a7f2
GBDeviceInfo: 5d62fa85bdcce3ed288d83c28789adf1173e4376
@@ -220,8 +234,9 @@ SPEC CHECKSUMS:
libPhoneNumber-iOS: 0a32a9525cf8744fe02c5206eb30d571e38f7d75
LoggerAPI: ad9c4a6f1e32f518fdb43a1347ac14d765ab5e3d
Logging: beeb016c9c80cf77042d62e83495816847ef108b
MatrixSDK: 1557b3ed0a211db43a865cfdad93f07c2be92c9e
MatrixSDKCrypto: dcab554bc7157cad31c01fc1137cf5acb01959a4
MatomoTracker: 24a846c9d3aa76933183fe9d47fd62c9efa863fb
MatrixSDK: 2bd63890d709683741452de2f215cfcda840fe64
MatrixSDKCrypto: b9e9bced53510f063bb203ccbec919f08d8f2641
OLMKit: da115f16582e47626616874e20f7bb92222c7a51
PostHog: 4b6321b521569092d4ef3a02238d9435dbaeb99f
ReadMoreTextView: 19147adf93abce6d7271e14031a00303fe28720d
@@ -241,6 +256,6 @@ SPEC CHECKSUMS:
zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c
ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb
PODFILE CHECKSUM: c93b326deaf9de3916d42a49d39d737612ab1d94
PODFILE CHECKSUM: 2046a454e97a09b21239c91eeeabb97af1089baf
COCOAPODS: 1.11.2
COCOAPODS: 1.11.3
+13 -7
View File
@@ -263,15 +263,17 @@
"device_verification_verified_got_it_button" = "Fertig";
"device_verification_verified_title" = "Geschafft!";
"device_verification_cancelled" = "Verifizierung abgebrochen. Du kannst sie erneut starten.";
"image_picker_action_remove_photo" = "Foto entfernen";
"room_participants_security_information_room_not_encrypted_for_dm" = "Die Nachrichten hier sind nicht Ende-zu-Ende verschlüsselt.";
"room_participants_security_information_room_encrypted" = "Nachrichten in diesem Raum sind Ende-zu-Ende verschlüsselt.\n\nDeine Nachrichten sind mit digitalen Schlüsseln gesichert, nur du und der/die Empfänger!n haben die einzigen Schlüssel, um jene zu entschlüsseln.";
"security_settings_crypto_sessions_description" = "Vertraue Sitzungen, um Zugriff auf Ende-zu-Ende verschlüsselte Nachrichten zu gewähren. Wenn du eine Sitzung nicht kennst, ändere dein Passwort und setze dein Nachrichtenpasswort für die Nachrichtensicherung zurück.";
"room_participants_security_information_room_encrypted_for_dm" = "Nachrichten hier sind Ende-zu-Ende verschlüsselt.\n\nDeine Nachrichten sind mit digitalen Schlüsseln gesichert, nur du und der/die Empfänger!n haben die einzigen Schlüssel, um jene zu entsperren.";
"room_widget_permission_avatar_url_permission" = "Deine Profilbild-URL";
"device_verification_self_verify_wait_title" = "Verifiziere dieses Gerät";
"device_verification_self_verify_wait_information" = "Verfiziere dieses Gerät von einer Deiner anderen Sitzungen, um Zugriff auf die verschlüsselten Nachrichten zu erhalten.";
"device_verification_self_verify_wait_information_more" = "Benutze die neuste Messenger-Sitzung auf deinem anderen Gerät:";
"device_verification_self_verify_wait_title" = "Diese Anmeldung verifizieren";
"device_verification_self_verify_wait_information" = "Verifiziere diese Anmeldung mit einem Gerät, auf dem du bereits angemeldet bist, um Zugriff auf die verschlüsselten Nachrichten zu erhalten.";
"device_verification_self_verify_wait_information_more" = "";
"device_verification_self_verify_alert_message" = "Bestätige die neue Anmeldung auf Deinem Gerät: %@";
"client_desktop_name" = "BundesMessenger Desktop";
"client_web_name" = "BundesMessenger Web";
@@ -289,12 +291,16 @@
"secure_key_backup_setup_intro_info" = "Damit du deine Nachrichten bei einem erneuten Login auf diesem Gerät entschlüsseln kannst, richte einen Wiederherstellungsschlüssel ein.";
"secure_key_backup_setup_intro_use_security_passphrase_title" = "Wiederherstellungsschlüssel";
"secure_key_backup_setup_intro_use_security_passphrase_info" = "Nutze deinen Wiederherstellungsschlüssel, um alle deine Nachrichten zu entschlüsseln.";
"key_verification_this_session_title" = "Wiederherstellungsschlüssel";
"device_verification_self_verify_wait_recover_secrets_without_passphrase" = "Verschlüsselungskennwort verwenden";
"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "Verschlüsselungskennwort verwenden";
"device_verification_self_verify_wait_recover_secrets_additional_information" = "Nutze Dein Wiederherstellungsschlüssel um alle Deine Nachrichten zu entschlüsseln";
"key_verification_verify_qr_code_title" = "Diese Anmeldung verifizieren";
"key_verification_verify_qr_code_information_other_device" = "Scanne den Code mit einem anderen Gerät oder umgekehrt.";
"key_verification_verify_qr_code_cannot_scan_action" = "Stattdessen mit Emojis vergleichen";
"key_verification_this_session_title" = "Diese Anmeldung verifizieren";
"device_verification_self_verify_wait_recover_secrets_without_passphrase" = "Alternative Wiederherstellung";
"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "Alternative Wiederherstellung";
"device_verification_self_verify_wait_recover_secrets_additional_information" = "Nutze Deinen Wiederherstellungsschlüssel, um alle Deine Nachrichten zu entschlüsseln.";
"key_verification_verified_new_session_information" = "Du kannst nun sichere Nachrichten auf deinem neuen Gerät lesen. Andere Benutzer wissen, dass sie es vertrauen können.";
"key_verification_verified_this_session_information" = "Deine Chats wurden erfolgreich wiederhergestellt.";
"key_verification_tile_request_alert_title" = "Verifizierung angefragt";
// MARK: - Secrets Recovery
+14 -2
View File
@@ -184,11 +184,23 @@
// MARK: - Device Verification
"key_verification_this_session_title" = "Recovery Key";
"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "Use recovery key";
"key_verification_verify_qr_code_title" = "Verify this session";
"key_verification_this_session_title" = "Verify this session";
"device_verification_self_verify_wait_title" = "Verify this session";
"device_verification_self_verify_wait_recover_secrets_without_passphrase" = "Other recovery method";
"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "Other recovery method";
"device_verification_self_verify_wait_recover_secrets_additional_information" = "Use your recovery key to decrypt all your messages.";
"device_verification_self_verify_wait_information" = "Verify your login with a device you are already logged in with to access your encrypted messages.";
"device_verification_self_verify_wait_information_more" = "";
"device_verification_verified_title" = "Completed!";
"device_verification_verified_got_it_button" = "Finish";
"device_verification_cancelled" = "Verification process cancelled. You can restart it again.";
"device_verification_self_verify_alert_message" = "Confirm new login on your device: %@";
"key_verification_verified_this_session_information" = "Your chats have been successfully decrypted.";
"key_verification_verify_qr_code_information_other_device" = "Scan code either with this device or another.";
"key_verification_verify_qr_code_cannot_scan_action" = "Compare with emojis instead";
"key_verification_tile_request_alert_title" = "Verification requested";
// MARK: - Secrets Recovery
+3 -3
View File
@@ -4124,7 +4124,7 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
if (senderName)
{
senderInfo = [NSString stringWithFormat:@"%@ (%@)", senderName, senderId];
senderInfo = [NSString stringWithFormat:@"%@", senderName]; // bwi: show only the name
}
else
{
@@ -4141,7 +4141,7 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
}
};
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:[VectorL10n keyVerificationTileRequestIncomingTitle]
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:[BWIL10n keyVerificationTileRequestAlertTitle]
message:senderInfo
preferredStyle:UIAlertControllerStyleAlert];
@@ -4253,7 +4253,7 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
deviceInfo = device.deviceId;
}
NSString *alertMessage = [VectorL10n deviceVerificationSelfVerifyAlertMessage:deviceInfo];
NSString *alertMessage = [BWIL10n deviceVerificationSelfVerifyAlertMessage:deviceInfo];
UIAlertController *alert = [UIAlertController alertControllerWithTitle:[VectorL10n deviceVerificationSelfVerifyAlertTitle]
message:alertMessage
@@ -133,7 +133,7 @@ final class KeyVerificationDataLoadingViewController: UIViewController {
switch error {
case KeyVerificationDataLoadingViewModelError.transactionCancelled:
message = VectorL10n.deviceVerificationCancelled
message = BWIL10n.deviceVerificationCancelled
case KeyVerificationDataLoadingViewModelError.transactionCancelledByMe(reason: let reason):
if reason.value != MXTransactionCancelCode.user().value {
message = VectorL10n.deviceVerificationCancelledByMe(reason.humanReadable)
@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="V8j-Lb-PgC">
<device id="retina6_1" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="V8j-Lb-PgC">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -13,7 +11,7 @@
<!--Key Verification Scan Confirmation View Controller-->
<scene sceneID="mt5-wz-YKA">
<objects>
<viewController extendedLayoutIncludesOpaqueBars="YES" automaticallyAdjustsScrollViewInsets="NO" id="V8j-Lb-PgC" customClass="KeyVerificationScanConfirmationViewController" customModule="Riot" customModuleProvider="target" sceneMemberID="viewController">
<viewController extendedLayoutIncludesOpaqueBars="YES" automaticallyAdjustsScrollViewInsets="NO" id="V8j-Lb-PgC" customClass="KeyVerificationScanConfirmationViewController" customModule="Element" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="EL9-GA-lwo">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
@@ -33,18 +31,18 @@
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="key_verification_success_shield" translatesAutoresizingMaskIntoConstraints="NO" id="Uad-3w-cQ4">
<activityIndicatorView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" animating="YES" style="medium" translatesAutoresizingMaskIntoConstraints="NO" id="UJY-Bw-abr">
<rect key="frame" x="147" y="88" width="120" height="120"/>
<constraints>
<constraint firstAttribute="width" constant="120" id="3RB-i8-S1k"/>
<constraint firstAttribute="width" secondItem="Uad-3w-cQ4" secondAttribute="height" multiplier="1:1" id="vrj-Sp-Wpu"/>
<constraint firstAttribute="width" secondItem="UJY-Bw-abr" secondAttribute="height" multiplier="1:1" id="Ifm-nK-cZw"/>
<constraint firstAttribute="width" constant="120" id="oJz-lG-JfE"/>
</constraints>
</imageView>
</activityIndicatorView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="t0L-ns-MGv">
<rect key="frame" x="20" y="238" width="374" height="118.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" text="Waiting..." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hwq-X6-Gl2">
<rect key="frame" x="151.5" y="0.0" width="71.5" height="20.5"/>
<rect key="frame" x="151.5" y="0.0" width="71" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.3803921569" green="0.43921568630000002" blue="0.5450980392" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -61,7 +59,7 @@
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" alignment="center" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="8Ou-Xh-0rC">
<rect key="frame" x="0.0" y="48" width="374" height="40"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kBt-2D-25V" customClass="RoundedButton" customModule="Riot" customModuleProvider="target">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kBt-2D-25V" customClass="RoundedButton" customModule="Element" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="182" height="40"/>
<inset key="contentEdgeInsets" minX="10" minY="0.0" maxX="10" maxY="0.0"/>
<state key="normal" title="No">
@@ -71,7 +69,7 @@
<action selector="rejectButtonAction:" destination="V8j-Lb-PgC" eventType="touchUpInside" id="qCV-Oh-YAG"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="03A-fe-h3s" customClass="RoundedButton" customModule="Riot" customModuleProvider="target">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="03A-fe-h3s" customClass="RoundedButton" customModule="Element" customModuleProvider="target">
<rect key="frame" x="192" y="0.0" width="182" height="40"/>
<inset key="contentEdgeInsets" minX="10" minY="0.0" maxX="10" maxY="0.0"/>
<state key="normal" title="Yes">
@@ -110,15 +108,14 @@
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="Uad-3w-cQ4" firstAttribute="centerX" secondItem="A5W-J0-Sfd" secondAttribute="centerX" id="9qA-xE-FuB"/>
<constraint firstItem="UJY-Bw-abr" firstAttribute="top" secondItem="FO8-rD-Y21" secondAttribute="bottom" constant="30" id="7wz-6C-4Fv"/>
<constraint firstAttribute="bottom" secondItem="t0L-ns-MGv" secondAttribute="bottom" constant="20" id="BiO-bi-ZSe"/>
<constraint firstAttribute="trailing" secondItem="FO8-rD-Y21" secondAttribute="trailing" constant="20" id="K4J-VT-PtB"/>
<constraint firstItem="FO8-rD-Y21" firstAttribute="leading" secondItem="A5W-J0-Sfd" secondAttribute="leading" constant="20" id="TBg-VP-Ogk"/>
<constraint firstAttribute="trailing" secondItem="t0L-ns-MGv" secondAttribute="trailing" constant="20" id="X3d-TI-hpD"/>
<constraint firstAttribute="width" priority="750" constant="500" id="bf9-gx-A9v"/>
<constraint firstItem="t0L-ns-MGv" firstAttribute="top" secondItem="Uad-3w-cQ4" secondAttribute="bottom" constant="30" id="iid-Cr-vcT"/>
<constraint firstItem="t0L-ns-MGv" firstAttribute="top" secondItem="UJY-Bw-abr" secondAttribute="bottom" constant="30" id="iSR-47-RJL"/>
<constraint firstItem="FO8-rD-Y21" firstAttribute="top" secondItem="A5W-J0-Sfd" secondAttribute="top" constant="40" id="tCz-QS-z3b"/>
<constraint firstItem="Uad-3w-cQ4" firstAttribute="top" secondItem="FO8-rD-Y21" secondAttribute="bottom" constant="30" id="xAe-qf-pOf"/>
<constraint firstItem="t0L-ns-MGv" firstAttribute="leading" secondItem="A5W-J0-Sfd" secondAttribute="leading" constant="20" id="xD5-z1-arO"/>
</constraints>
</view>
@@ -142,14 +139,15 @@
</constraints>
</scrollView>
</subviews>
<viewLayoutGuide key="safeArea" id="bFg-jh-JZB"/>
<color key="backgroundColor" red="0.94509803921568625" green="0.96078431372549022" blue="0.97254901960784312" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="9U2-KL-ZVA" secondAttribute="bottom" id="7Cb-nY-CsO"/>
<constraint firstItem="9U2-KL-ZVA" firstAttribute="leading" secondItem="bFg-jh-JZB" secondAttribute="leading" id="GdQ-hK-muG"/>
<constraint firstItem="UJY-Bw-abr" firstAttribute="centerX" secondItem="bFg-jh-JZB" secondAttribute="centerX" id="eVj-7W-dkG"/>
<constraint firstItem="bFg-jh-JZB" firstAttribute="trailing" secondItem="9U2-KL-ZVA" secondAttribute="trailing" id="sbD-ek-vGJ"/>
<constraint firstItem="bFg-jh-JZB" firstAttribute="top" secondItem="9U2-KL-ZVA" secondAttribute="top" id="wTB-V6-IHV"/>
</constraints>
<viewLayoutGuide key="safeArea" id="bFg-jh-JZB"/>
</view>
<connections>
<outlet property="confirmButton" destination="03A-fe-h3s" id="lDk-ec-qrl"/>
@@ -166,7 +164,4 @@
<point key="canvasLocation" x="-3198" y="-647"/>
</scene>
</scenes>
<resources>
<image name="key_verification_success_shield" width="120" height="120"/>
</resources>
</document>
@@ -182,7 +182,7 @@ final class KeyVerificationScanConfirmationViewController: UIViewController {
private func renderCancelled(reason: MXTransactionCancelCode) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
self.errorPresenter.presentError(from: self, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
self.errorPresenter.presentError(from: self, title: "", message: BWIL10n.deviceVerificationCancelled, animated: true) {
self.viewModel.process(viewAction: .cancel)
}
}
@@ -156,7 +156,7 @@ final class KeyVerificationVerifyBySASViewController: UIViewController {
self.cancelButton.actionStyle = .cancel
self.validateButton.setTitle(VectorL10n.keyVerificationVerifySasValidateAction, for: .normal)
self.additionalInformationLabel.text = VectorL10n.keyVerificationVerifySasAdditionalInformation
self.additionalInformationLabel.text = nil // bwi: text hidden
}
private func render(viewState: KeyVerificationVerifyViewState) {
@@ -188,7 +188,7 @@ final class KeyVerificationVerifyBySASViewController: UIViewController {
private func renderCancelled(reason: MXTransactionCancelCode) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
self.errorPresenter.presentError(from: self, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
self.errorPresenter.presentError(from: self, title: "", message: BWIL10n.deviceVerificationCancelled, animated: true) {
self.viewModel.process(viewAction: .cancel)
}
}
@@ -140,14 +140,14 @@ final class KeyVerificationVerifyByScanningViewController: UIViewController {
self.navigationItem.rightBarButtonItem = cancelBarButtonItem
self.title = VectorL10n.keyVerificationVerifyQrCodeTitle
self.titleLabel.text = VectorL10n.keyVerificationVerifyQrCodeTitle
self.title = BWIL10n.keyVerificationVerifyQrCodeTitle
self.titleLabel.text = BWIL10n.keyVerificationVerifyQrCodeTitle
self.informationLabel.text = VectorL10n.keyVerificationVerifyQrCodeInformation
// Hide until we have the type of the verification request
self.scanCodeButton.isHidden = true
self.cannotScanButton.setTitle(VectorL10n.keyVerificationVerifyQrCodeCannotScanAction, for: .normal)
self.cannotScanButton.setTitle(BWIL10n.keyVerificationVerifyQrCodeCannotScanAction, for: .normal)
}
private func render(viewState: KeyVerificationVerifyByScanningViewState) {
@@ -200,7 +200,7 @@ final class KeyVerificationVerifyByScanningViewController: UIViewController {
informationText = VectorL10n.keyVerificationVerifyQrCodeInformation
self.scanCodeButton.setTitle(VectorL10n.keyVerificationVerifyQrCodeScanCodeAction, for: .normal)
default:
informationText = VectorL10n.keyVerificationVerifyQrCodeInformationOtherDevice
informationText = BWIL10n.keyVerificationVerifyQrCodeInformationOtherDevice
self.scanCodeButton.setTitle(VectorL10n.keyVerificationVerifyQrCodeScanCodeOtherDeviceAction, for: .normal)
}
@@ -252,7 +252,7 @@ final class KeyVerificationVerifyByScanningViewController: UIViewController {
// if we're verifying our own device, assume the user probably knows since it was them who
// cancelled on their other device
if verificationKind == .user {
self.errorPresenter.presentError(from: self.alertPresentingViewController, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
self.errorPresenter.presentError(from: self.alertPresentingViewController, title: "", message: BWIL10n.deviceVerificationCancelled, animated: true) {
self.dismissQRCodeScanningIfPresented(animated: false)
self.viewModel.process(viewAction: .cancel)
}
@@ -169,7 +169,7 @@ final class DeviceVerificationIncomingViewController: UIViewController {
private func renderCancelled(reason: MXTransactionCancelCode) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
self.errorPresenter.presentError(from: self, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
self.errorPresenter.presentError(from: self, title: "", message: BWIL10n.deviceVerificationCancelled, animated: true) {
self.viewModel.process(viewAction: .cancel)
}
}
@@ -177,7 +177,7 @@ final class KeyVerificationSelfVerifyStartViewController: UIViewController {
private func renderCancelled(reason: MXTransactionCancelCode) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
self.errorPresenter.presentError(from: self, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
self.errorPresenter.presentError(from: self, title: "", message: BWIL10n.deviceVerificationCancelled, animated: true) {
self.viewModel.process(viewAction: .cancel)
}
}
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16097.3" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="79A-qb-tmk">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="79A-qb-tmk">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -11,7 +11,7 @@
<!--Key Verification Self Verify Wait View Controller-->
<scene sceneID="a9K-1U-7Nm">
<objects>
<viewController extendedLayoutIncludesOpaqueBars="YES" automaticallyAdjustsScrollViewInsets="NO" id="79A-qb-tmk" customClass="KeyVerificationSelfVerifyWaitViewController" customModule="Riot" customModuleProvider="target" sceneMemberID="viewController">
<viewController extendedLayoutIncludesOpaqueBars="YES" automaticallyAdjustsScrollViewInsets="NO" id="79A-qb-tmk" customClass="KeyVerificationSelfVerifyWaitViewController" customModule="Element" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="tAM-kt-f0s">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
@@ -20,10 +20,10 @@
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tIM-sl-gwE">
<rect key="frame" x="0.0" y="0.0" width="375" height="518.5"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="543.5"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="IlB-Ch-LEo">
<rect key="frame" x="0.0" y="0.0" width="375" height="518.5"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="543.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="d5Y-pj-XsI">
<rect key="frame" x="20" y="20" width="335" height="84"/>
@@ -35,10 +35,10 @@ Use the latest Riot on your other devices:</string>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="ANK-XS-dY7">
<rect key="frame" x="27.5" y="144" width="320" height="48"/>
<rect key="frame" x="27.5" y="144" width="320" height="73"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="14" translatesAutoresizingMaskIntoConstraints="NO" id="3at-ql-vhb">
<rect key="frame" x="0.0" y="0.0" width="160" height="48"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="3at-ql-vhb">
<rect key="frame" x="0.0" y="0.0" width="160" height="73"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="monitor" translatesAutoresizingMaskIntoConstraints="NO" id="nrB-Kj-4zE">
<rect key="frame" x="56" y="0.0" width="48" height="48"/>
@@ -47,10 +47,16 @@ Use the latest Riot on your other devices:</string>
<constraint firstAttribute="width" secondItem="nrB-Kj-4zE" secondAttribute="height" multiplier="1:1" id="TOT-bj-1W4"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Web" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lvz-0w-9TT">
<rect key="frame" x="65.5" y="56" width="29.5" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="14" translatesAutoresizingMaskIntoConstraints="NO" id="coY-7W-lY7">
<rect key="frame" x="160" y="0.0" width="160" height="48"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="coY-7W-lY7">
<rect key="frame" x="160" y="0.0" width="160" height="73"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="smartphone" translatesAutoresizingMaskIntoConstraints="NO" id="P0P-X4-uSQ">
<rect key="frame" x="56" y="0.0" width="48" height="48"/>
@@ -59,6 +65,12 @@ Use the latest Riot on your other devices:</string>
<constraint firstAttribute="width" secondItem="P0P-X4-uSQ" secondAttribute="height" multiplier="1:1" id="AZP-GN-y8E"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Mobile App" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="x7a-wS-PpB">
<rect key="frame" x="43.5" y="56" width="73.5" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
@@ -67,13 +79,13 @@ Use the latest Riot on your other devices:</string>
</constraints>
</stackView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="This works with Element and other cross-signing capable Matrix clients." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LnW-1H-Ltq">
<rect key="frame" x="20" y="232" width="335" height="33.5"/>
<rect key="frame" x="20" y="257" width="335" height="33.5"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="8oJ-o6-DLK">
<rect key="frame" x="20" y="285.5" width="335" height="233"/>
<rect key="frame" x="20" y="310.5" width="335" height="233"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dXT-cL-ukJ">
<rect key="frame" x="0.0" y="0.0" width="335" height="114.5"/>
@@ -102,7 +114,7 @@ Use the latest Riot on your other devices:</string>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nf8-Ye-b9r">
<rect key="frame" x="0.0" y="114.5" width="335" height="118.5"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="OEt-k0-vgM" customClass="RoundedButton" customModule="Riot" customModuleProvider="target">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="OEt-k0-vgM" customClass="RoundedButton" customModule="Element" customModuleProvider="target">
<rect key="frame" x="0.0" y="10" width="335" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="7ws-Nc-I7y"/>
@@ -178,6 +190,7 @@ Use the latest Riot on your other devices:</string>
</constraints>
</scrollView>
</subviews>
<viewLayoutGuide key="safeArea" id="GnW-bb-rsL"/>
<color key="backgroundColor" red="0.94509803920000002" green="0.96078431369999995" blue="0.97254901959999995" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="asO-rj-82y" firstAttribute="trailing" secondItem="GnW-bb-rsL" secondAttribute="trailing" id="Isw-tg-7go"/>
@@ -185,7 +198,6 @@ Use the latest Riot on your other devices:</string>
<constraint firstItem="GnW-bb-rsL" firstAttribute="top" secondItem="asO-rj-82y" secondAttribute="top" id="b3e-2d-oiV"/>
<constraint firstAttribute="bottomMargin" secondItem="asO-rj-82y" secondAttribute="bottom" id="wMk-Oq-DwP"/>
</constraints>
<viewLayoutGuide key="safeArea" id="GnW-bb-rsL"/>
</view>
<connections>
<outlet property="additionalInformationLabel" destination="LnW-1H-Ltq" id="TJS-GC-ABf"/>
@@ -132,9 +132,9 @@ final class KeyVerificationSelfVerifyWaitViewController: UIViewController {
self.desktopClientImageView.image = Asset.Images.monitor.image.withRenderingMode(.alwaysTemplate)
self.mobileClientImageView.image = Asset.Images.smartphone.image.withRenderingMode(.alwaysTemplate)
self.additionalInformationLabel.text = VectorL10n.deviceVerificationSelfVerifyWaitAdditionalInformation(AppInfo.current.displayName)
self.additionalInformationLabel.text = nil // bwi: hidden text
self.recoverSecretsAdditionalInformationLabel.text = VectorL10n.deviceVerificationSelfVerifyWaitRecoverSecretsAdditionalInformation
self.recoverSecretsAdditionalInformationLabel.text = BWIL10n.deviceVerificationSelfVerifyWaitRecoverSecretsAdditionalInformation
}
private func render(viewState: KeyVerificationSelfVerifyWaitViewState) {
@@ -198,7 +198,7 @@ final class KeyVerificationSelfVerifyWaitViewController: UIViewController {
private func renderCancelled(reason: MXTransactionCancelCode) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
self.errorPresenter.presentError(from: self, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
self.errorPresenter.presentError(from: self, title: "", message: BWIL10n.deviceVerificationCancelled, animated: true) {
self.viewModel.process(viewAction: .cancel)
}
}
@@ -177,7 +177,7 @@ final class DeviceVerificationStartViewController: UIViewController {
private func renderCancelled(reason: MXTransactionCancelCode) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
self.errorPresenter.presentError(from: self, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
self.errorPresenter.presentError(from: self, title: "", message: BWIL10n.deviceVerificationCancelled, animated: true) {
self.viewModel.process(viewAction: .cancel)
}
}
@@ -166,7 +166,7 @@ final class UserVerificationStartViewController: UIViewController {
private func renderCancelled(reason: MXTransactionCancelCode) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
self.errorPresenter.presentError(from: self, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
self.errorPresenter.presentError(from: self, title: "", message: BWIL10n.deviceVerificationCancelled, animated: true) {
self.viewModel.process(viewAction: .cancel)
}
}
@@ -372,14 +372,15 @@ TableViewSectionsDelegate>
// Cross-Signing
if (!BWIBuildSettings.shared.disableSelfUserVerification) {
Section *crossSigningSection = [Section sectionWithTag:SECTION_CROSSSIGNING];
crossSigningSection.headerTitle = [VectorL10n securitySettingsCrosssigning];
[crossSigningSection addRowsWithCount:[self numberOfRowsInCrossSigningSection]];
[sections addObject:crossSigningSection];
}
// bwi: hide cross signing section
// if (!BWIBuildSettings.shared.disableSelfUserVerification) {
// Section *crossSigningSection = [Section sectionWithTag:SECTION_CROSSSIGNING];
// crossSigningSection.headerTitle = [VectorL10n securitySettingsCrosssigning];
//
// [crossSigningSection addRowsWithCount:[self numberOfRowsInCrossSigningSection]];
//
// [sections addObject:crossSigningSection];
// }
// Cryptography