MESSENGER-4258 Fixes from Testprotocol

This commit is contained in:
Frank Rotermund
2023-02-16 15:40:21 +01:00
parent 91a837268f
commit a8960042d4
18 changed files with 199 additions and 32 deletions

View File

@@ -1,3 +1,51 @@
Changes in BWI project 2.3.0 (2023-02-14)
===================================================
Upstream merge ✨:
- v1.9.15
Features ✨:
- New Design activated (#3790)
- Netiquette (4016)
- Cross-Signing activated
- BuM only: Server selection via QR Code (#3895)
Improvements 🙌:
- Remove contextmenu for status messages (#4029)
- Downtime info on login view (#2821)
- Locationsahring without gps (#4235)
- Emoji naming maded the same for all plattforms (#4088)
Bugfix 🐛:
Translations 🗣 :
SDK API changes ⚠️:
+Build 🧱:
- Better versioning for nexus upload (#4074)
Changes in BWI project 2.2.1 (2022-01-20)
===================================================
Upstream merge ✨:
- v1.9.14
Features ✨:
Improvements 🙌:
Bugfix 🐛:
- Resetting Passphrase does not potentially lead to errors anymore (#4227)
Translations 🗣 :
SDK API changes ⚠️:
+Build 🧱:
Changes in BWI project 2.2.0 (2022-12-16)
===================================================

View File

@@ -407,7 +407,8 @@ class BWIBuildSettings: NSObject {
var authScreenShowSocialLoginSection = false
// MARK: - Cross-signing (bwi=true)
var disableSelfUserVerification = true
var disableSelfUserVerification = false
var additionalSelfVerfificationAlert = false
// MARK: - Antivirus scan (bwi=true)
@@ -454,7 +455,7 @@ class BWIBuildSettings: NSObject {
var passwordIndicatorOnLogin = true
// MARK: Displays the element base version on the settings screen
var elementBaseVersion = "1.9.14"
var elementBaseVersion = "1.9.15"
var showElementBaseVersion = true

View File

@@ -43,7 +43,7 @@ when String # specific MatrixSDK released version
$matrixSDKVersionSpec = $matrixSDKVersion
end
$matrixSDKVersionSpec = { :git => 'https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk', :tag => 'v0.24.7_bwi_beta' }
$matrixSDKVersionSpec = { :git => 'https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk', :tag => 'v0.24.7_bwi' }
# Method to import the MatrixSDK
def import_MatrixSDK

View File

@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "icon_erkunden.svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"template-rendering-intent" : "template"
}
}

View File

@@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_68_2808)">
<path d="M1 16.1504C1 18.5547 3.15433 20.3557 5.79124 20.3557C8.41952 20.3557 10.5652 18.5547 10.5652 16.1504V13.9444C10.9875 13.7806 11.4959 13.6859 12.0043 13.6859C12.5645 13.6859 13.047 13.7462 13.4348 13.8841V16.1504C13.4348 18.5547 15.5805 20.3557 18.2088 20.3557C20.8371 20.3557 23 18.5547 23 16.1504C23 15.5214 22.9052 14.9354 22.5519 14.1167L18.9757 5.77517C18.4846 4.65491 17.4591 4 16.1665 4C14.512 4 13.4348 5.05131 13.4348 6.62828V7.46417C13.0039 7.35214 12.53 7.29182 12.0043 7.29182C11.5045 7.29182 11.0219 7.36938 10.5652 7.51587V6.62828C10.5652 5.05131 9.48807 4 7.83354 4C6.54094 4 5.50686 4.65491 5.02429 5.77517L1.43948 14.1167C1.08617 14.9354 1 15.5214 1 16.1504ZM2.35292 16.1504C2.35292 14.4184 3.84372 13.2378 5.79124 13.2378C7.73013 13.2378 9.27263 14.4184 9.27263 16.1504C9.27263 17.8825 7.73013 19.0631 5.79124 19.0631C3.84372 19.0631 2.35292 17.8825 2.35292 16.1504ZM14.7274 16.1504C14.7274 14.4184 16.2613 13.2378 18.2088 13.2378C20.1477 13.2378 21.6385 14.4184 21.6385 16.1504C21.6385 17.8825 20.1477 19.0631 18.2088 19.0631C16.2613 19.0631 14.7274 17.8825 14.7274 16.1504ZM10.5652 11.3161V10.1442C11.0219 9.99766 11.5045 9.92872 12.0043 9.92872C12.53 9.92872 13.0039 9.98042 13.4348 10.0924V11.2472C13.047 11.1179 12.573 11.0576 12.0043 11.0576C11.4959 11.0576 10.9875 11.1524 10.5652 11.3161Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_68_2808">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -296,8 +296,8 @@
"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_without_passphrase" = "Wiederherstellungsschlüssel";
"device_verification_self_verify_wait_recover_secrets_with_passphrase" = "Wiederherstellungsschlüssel";
"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 Anmeldung wurde erfolgreich verifiziert.";
@@ -570,3 +570,11 @@
// MARK: - New Layout
"all_chats_edit_layout_show_personal_notes" = "Notizenraum anzeigen";
// MARK: - Context Menu All Chats
"room_recents_create_empty_room" = "Neuer Raum";
"room_recents_start_chat_with" = "Neue Direktnachricht";
"room_recents_explore_rooms" = "Räume erkunden";
// MARK: - Chat creation
"room_creation_title" = "Neue Direktnachricht";

View File

@@ -449,3 +449,11 @@
// MARK: - New Layout
"all_chats_edit_layout_show_personal_notes" = "Show personal notes";
// MARK: Context Menu All Chats
"room_recents_create_empty_room" = "New room";
"room_recents_start_chat_with" = "New chat";
"room_recents_explore_rooms" = "Discover rooms";
// MARK: - Chat creation
"room_creation_title" = "New chat";

View File

@@ -26,6 +26,35 @@
</style>
</head>
<body>
<div>
<p>
<b>Version 2.3.0</b>
</p>
<p>
<b>Neue Funktionen</b>
<ul>
<li/>Die Raumübersicht wurde überarbeitet und erscheint im neuen Design.
<li/>Du kannst jetzt deine neuen Sitzungen verifizieren, indem du sie auf deinen anderen Geräten bestätigst. Dies wird dir nun alternativ zum Wiederherstellungsschlüssel angeboten.
</ul>
</p>
<p>
<b>Verbesserungen</b>
<ul>
<li/>Du kannst jetzt auch bei ausgeschaltetem GPS Standorte teilen.
<li/>Da die Bearbeitung von Statusnachrichten zu fehlerhaften Zuständen führen kann, haben wir diese deaktiviert.
<li/>Du wirst jetzt auch beim Versuch dich einzuloggen über eine aktive Wartung informiert.
</ul>
</p>
<p>
<b>Behobene Bugs</b>
<ul>
<li/>Bei der Erzeugung eines neuen Wiederherstellungsschlüssels konnte es unter Umständen zu Fehlern kommen. Das wurde behoben.
</ul>
</p>
</div>
<div>
<p>
<b>Version 2.2.0</b>

View File

@@ -51,10 +51,34 @@ public class BWIL10n: NSObject {
public static var authenticationServerSelectionLoginTitle: String {
return BWIL10n.tr("Bwi", "authentication_server_selection_login_title")
}
/// Homeserver URL
/// Gehe in die Einstellungen deines iPhones, um der App den Zugriff auf die Kamera zu erlauben.
public static var authenticationServerSelectionQrMissingAuthorizationMessage: String {
return BWIL10n.tr("Bwi", "authentication_server_selection_qr_missing_authorization_message")
}
/// Scannen nicht möglich
public static var authenticationServerSelectionQrMissingAuthorizationTitle: String {
return BWIL10n.tr("Bwi", "authentication_server_selection_qr_missing_authorization_title")
}
/// QR-Code einlesen
public static var authenticationServerSelectionScanCodeButtonTitle: String {
return BWIL10n.tr("Bwi", "authentication_server_selection_scan_code_button_title")
}
/// Dein Server ist leider noch nicht für den BundesMessenger eingerichtet. Wenn Du aus der Öffentlichen Verwaltung bist und Fragen hast, wie du den BundesMessenger nutzen kannst, besuche unsere Webseite.
public static var authenticationServerSelectionServerDeniedMessage: String {
return BWIL10n.tr("Bwi", "authentication_server_selection_server_denied_message")
}
/// Unbekannte URL
public static var authenticationServerSelectionServerDeniedTitle: String {
return BWIL10n.tr("Bwi", "authentication_server_selection_server_denied_title")
}
/// Server-URL
public static var authenticationServerSelectionServerUrl: String {
return BWIL10n.tr("Bwi", "authentication_server_selection_server_url")
}
/// Anmelden
public static var authenticationServerSelectionSubmitButtonTitle: String {
return BWIL10n.tr("Bwi", "authentication_server_selection_submit_button_title")
}
/// PIN eingeben
public static var biometricsModeCantUnlockButtonTitle: String {
return BWIL10n.tr("Bwi", "biometrics_mode_cant_unlock_button_title")
@@ -615,11 +639,11 @@ public class BWIL10n: NSObject {
public static var deviceVerificationSelfVerifyWaitRecoverSecretsAdditionalInformation: String {
return BWIL10n.tr("Bwi", "device_verification_self_verify_wait_recover_secrets_additional_information")
}
/// Alternative Wiederherstellung
/// Wiederherstellungsschlüssel
public static var deviceVerificationSelfVerifyWaitRecoverSecretsWithPassphrase: String {
return BWIL10n.tr("Bwi", "device_verification_self_verify_wait_recover_secrets_with_passphrase")
}
/// Alternative Wiederherstellung
/// Wiederherstellungsschlüssel
public static var deviceVerificationSelfVerifyWaitRecoverSecretsWithoutPassphrase: String {
return BWIL10n.tr("Bwi", "device_verification_self_verify_wait_recover_secrets_without_passphrase")
}
@@ -903,7 +927,7 @@ public class BWIL10n: NSObject {
public static var pinProtectionChoosePinWelcomeAfterRegister: String {
return BWIL10n.tr("Bwi", "pin_protection_choose_pin_welcome_after_register")
}
/// Bestätige deine PIN
/// Bestätige PIN
public static var pinProtectionConfirmPin: String {
return BWIL10n.tr("Bwi", "pin_protection_confirm_pin")
}
@@ -947,6 +971,10 @@ public class BWIL10n: NSObject {
public static var roomCreationInviteAnotherUser: String {
return BWIL10n.tr("Bwi", "room_creation_invite_another_user")
}
/// Neue Direktnachricht
public static var roomCreationTitle: String {
return BWIL10n.tr("Bwi", "room_creation_title")
}
/// Öffentlicher Raum
public static var roomDetailsAccessSectionAccessToggleBw: String {
return BWIL10n.tr("Bwi", "room_details_access_section_access_toggle_bw")
@@ -1095,6 +1123,18 @@ public class BWIL10n: NSObject {
public static var roomParticipantsSecurityInformationRoomNotEncryptedForDm: String {
return BWIL10n.tr("Bwi", "room_participants_security_information_room_not_encrypted_for_dm")
}
/// Neuer Raum
public static var roomRecentsCreateEmptyRoom: String {
return BWIL10n.tr("Bwi", "room_recents_create_empty_room")
}
/// Räume erkunden
public static var roomRecentsExploreRooms: String {
return BWIL10n.tr("Bwi", "room_recents_explore_rooms")
}
/// Neue Direktnachricht
public static var roomRecentsStartChatWith: String {
return BWIL10n.tr("Bwi", "room_recents_start_chat_with")
}
/// Deine Profilbild-URL
public static var roomWidgetPermissionAvatarUrlPermission: String {
return BWIL10n.tr("Bwi", "room_widget_permission_avatar_url_permission")

View File

@@ -47,6 +47,7 @@ internal class Asset: NSObject {
internal static let authenticationSsoIconGoogle = ImageAsset(name: "authentication_sso_icon_google")
internal static let authenticationSsoIconTwitter = ImageAsset(name: "authentication_sso_icon_twitter")
internal static let authenticationTermsIcon = ImageAsset(name: "authentication_terms_icon")
internal static let binoculars = ImageAsset(name: "binoculars")
internal static let birthdayCake = ImageAsset(name: "birthday_cake")
internal static let fileAttachmentIcon = ImageAsset(name: "file_attachment_icon")
internal static let fileScanInfected = ImageAsset(name: "file_scan_infected")
@@ -380,6 +381,7 @@ internal class Asset: NSObject {
internal static let cancel = ImageAsset(name: "cancel")
internal static let e2eVerified = ImageAsset(name: "e2e_verified")
internal static let horizontalLogo = ImageAsset(name: "horizontal_logo")
internal static let loginFlowLogo = ImageAsset(name: "login_flow_logo")
internal static let radioButtonDefault = ImageAsset(name: "radio-button-default")
internal static let radioButtonSelected = ImageAsset(name: "radio-button-selected")
}

View File

@@ -4227,7 +4227,7 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
MXDevice *mostRecentDevice = sortedDevices.lastObject;
if (mostRecentDevice)
if (mostRecentDevice && BWIBuildSettings.shared.additionalSelfVerfificationAlert)
{
[self presentNewSignInAlertForDevice:mostRecentDevice inSession:session];
}

View File

@@ -55,7 +55,7 @@ class AllChatsEditActionProvider {
self.createRoomAction,
self.startChatAction
]
if rootSpaceCount > 0 {
if rootSpaceCount > 0 && BWIBuildSettings.shared.enableSpaces {
createActions.insert(self.createSpaceAction, at: 0)
}
return UIMenu(title: "", children: [
@@ -131,8 +131,8 @@ class AllChatsEditActionProvider {
// MARK: - Private
private var exploreRoomsAction: UIAction {
UIAction(title: parentSpace == nil ? VectorL10n.spacesExploreRooms : VectorL10n.spacesExploreRoomsFormat(parentName),
image: UIImage(systemName: "list.bullet")) { [weak self] action in
UIAction(title: parentSpace == nil ? BWIL10n.roomRecentsExploreRooms : VectorL10n.spacesExploreRoomsFormat(parentName),
image: Asset.Images.binoculars.image) { [weak self] action in
guard let self = self else { return }
self.delegate?.allChatsEditActionProvider(self, didSelect: .exploreRooms)
@@ -140,7 +140,7 @@ class AllChatsEditActionProvider {
}
private var createRoomAction: UIAction {
UIAction(title: parentSpace == nil ? VectorL10n.roomRecentsCreateEmptyRoom : VectorL10n.spacesAddRoom,
UIAction(title: parentSpace == nil ? BWIL10n.roomRecentsCreateEmptyRoom : VectorL10n.spacesAddRoom,
image: UIImage(systemName: "person.3"),
attributes: isAddRoomAvailable ? [] : .disabled) { [weak self] action in
guard let self = self else { return }
@@ -150,7 +150,7 @@ class AllChatsEditActionProvider {
}
private var startChatAction: UIAction {
UIAction(title: VectorL10n.roomRecentsStartChatWith,
UIAction(title: BWIL10n.roomRecentsStartChatWith,
image: UIImage(systemName: "person")) { [weak self] action in
guard let self = self else { return }

View File

@@ -307,6 +307,10 @@ class AllChatsCoordinator: NSObject, SplitViewMasterCoordinatorProtocol {
private func addMatrixSessionToAllChatsController(_ matrixSession: MXSession) {
MXLog.debug("[TabBarCoordinator] masterTabBarController.addMatrixSession")
self.allChatsViewController.addMatrixSession(matrixSession)
if BWIBuildSettings.shared.bwiPersonalNotesRoom {
self.bwiCheckForPersonalNotesRoom()
}
}
// TODO: Remove Matrix session handling from the view controller
@@ -685,6 +689,19 @@ class AllChatsCoordinator: NSObject, SplitViewMasterCoordinatorProtocol {
@objc private func bwiAvatarAction(sender: UIButton!) {
self.showSettings()
}
// bwi: check for personalnotes room existence
private func bwiCheckForPersonalNotesRoom() {
if let session = self.currentMatrixSession {
let service = PersonalNotesDefaultService(mxSession: session)
if BWIBuildSettings.shared.bwiResetPersonalNotesAccountData {
service.resetPersonalNotesRoom()
}
service.createPersonalNotesRoomIfNeeded()
}
}
}
extension AllChatsCoordinator: SignOutFlowPresenterDelegate {

View File

@@ -77,8 +77,10 @@
[items removeObjectAtIndex:0];
}
self.previewController.navigationItem.rightBarButtonItems = items;
// bwi no toolbar items to disallow share files
// bwi: no toolbar items to disallow share files
self.previewController.toolbarItems = nil;
// bwi: no title to disallow sharing/printing
self.previewController.navigationItem.title = @"";
}
}

View File

@@ -1701,12 +1701,6 @@
}
if (indexPath.section == participantsSection || indexPath.section == invitedSection)
{
if ((indexPath.section == participantsSection && userParticipant && indexPath.row == 0) && !currentSearchText.length)
{
// oneself dedicated cell
contact = userParticipant;
}
else
{
NSInteger index = indexPath.row;
NSArray *participants;
@@ -1720,11 +1714,6 @@
else
{
participants = actualParticipants;
if (userParticipant)
{
index --;
}
}
}
else

View File

@@ -138,7 +138,7 @@ final class RoomCreationIntroCellContentView: UIView, NibLoadable, Themable {
case .directMessage:
informationAttributedText = self.buildDMInformationText(with: viewData.roomDisplayName, isDirect: true)
case .multipleDirectMessage:
informationAttributedText = self.buildDMInformationText(with: viewData.roomDisplayName, isDirect: false)
informationAttributedText = self.buildDMInformationText(with: viewData.roomDisplayName, isDirect: true)
case.personalNotes:
informationAttributedText = self.buildPersonalNotesInformationText(with: viewData.roomDisplayName, isDirect: false)
}

View File

@@ -90,7 +90,7 @@
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.navigationItem.title = [VectorL10n roomCreationTitle];
self.navigationItem.title = [BWIL10n roomCreationTitle];
// Add each matrix session by default.
NSArray *sessions = [AppDelegate theDelegate].mxSessions;

View File

@@ -279,9 +279,7 @@ static NSString *const kEventFormatterTimeFormat = @"HH:mm";
} else if ([event.type isEqualToString:VoiceBroadcastSettings.voiceBroadcastInfoContentKeyType]) {
// do not show voice broadcast info in the timeline
return nil;
}
} else if (event.eventType == MXEventTypeCustom) {
if (BWIBuildSettings.shared.bwiUserLabelsTimelineEventVisible && [event.type isEqualToString:BWIBuildSettings.shared.bwiUserLabelEventTypeString]) {
} else if (BWIBuildSettings.shared.bwiUserLabelsTimelineEventVisible && [event.type isEqualToString:BWIBuildSettings.shared.bwiUserLabelEventTypeString]) {
return [self bwiRenderUserLabel:event];
}
}