Merge branch 'feature/8170_login_via_full_matrix_id' into 'develop'

fix: login via matrix id should not change the homeserver (MESSENGER-8170)

See merge request bwmessenger/bundesmessenger/bundesmessenger-ios!455
This commit is contained in:
Frank Rotermund
2026-03-05 13:27:58 +00:00
committed by SDE GitLab
5 changed files with 37 additions and 25 deletions

View File

@@ -724,4 +724,7 @@ class BWIBuildSettings: NSObject {
// MARK: Enable Room Retention // MARK: Enable Room Retention
var enableRoomRetention = false var enableRoomRetention = false
// MARK: homeserver selection via full qualified matrix id
var allowMatrixIDForHomeserverSelection = false
} }

View File

@@ -51,7 +51,7 @@ def import_MatrixKit_pods
pod 'libPhoneNumber-iOS', '~> 0.9.13' pod 'libPhoneNumber-iOS', '~> 0.9.13'
pod 'DTCoreText', '1.6.26' pod 'DTCoreText', '1.6.26'
#pod 'DTCoreText/Extension', '~> 1.6.25' #pod 'DTCoreText/Extension', '~> 1.6.25'
pod 'Down', '~> 0.11.0' pod 'Down', :git => 'https://github.com/vvorlov/Down.git', :branch => 'master'
end end
def import_SwiftUI_pods def import_SwiftUI_pods

View File

@@ -80,7 +80,7 @@ PODS:
- ZXingObjC/All (3.6.9) - ZXingObjC/All (3.6.9)
DEPENDENCIES: DEPENDENCIES:
- Down (~> 0.11.0) - Down (from `https://github.com/vvorlov/Down.git`, branch `master`)
- DSWaveformImage (~> 6.1.1) - DSWaveformImage (~> 6.1.1)
- DTCoreText (= 1.6.26) - DTCoreText (= 1.6.26)
- DTTJailbreakDetection (~> 0.4.0) - DTTJailbreakDetection (~> 0.4.0)
@@ -107,7 +107,6 @@ DEPENDENCIES:
SPEC REPOS: SPEC REPOS:
https://github.com/CocoaPods/Specs.git: https://github.com/CocoaPods/Specs.git:
- AFNetworking - AFNetworking
- Down
- DSWaveformImage - DSWaveformImage
- DTCoreText - DTCoreText
- DTFoundation - DTFoundation
@@ -137,18 +136,24 @@ SPEC REPOS:
- ZXingObjC - ZXingObjC
EXTERNAL SOURCES: EXTERNAL SOURCES:
Down:
:branch: master
:git: https://github.com/vvorlov/Down.git
MatrixSDK: MatrixSDK:
:git: https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk :git: https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk
:tag: v2.26.0 :tag: v2.26.0
CHECKOUT OPTIONS: CHECKOUT OPTIONS:
Down:
:commit: dbb02cc9d16363874b7a0c6c48b9efe09bd5b006
:git: https://github.com/vvorlov/Down.git
MatrixSDK: MatrixSDK:
:git: https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk :git: https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk
:tag: v2.26.0 :tag: v2.26.0
SPEC CHECKSUMS: SPEC CHECKSUMS:
AFNetworking: 3bd23d814e976cd148d7d44c3ab78017b744cd58 AFNetworking: 3bd23d814e976cd148d7d44c3ab78017b744cd58
Down: b6ba1bc985c9d2f4e15e3b293d2207766fa12612 Down: 10462c9cb3a6ef28e0996739329c4976b13870f7
DSWaveformImage: 3c718a0cf99291887ee70d1d0c18d80101d3d9ce DSWaveformImage: 3c718a0cf99291887ee70d1d0c18d80101d3d9ce
DTCoreText: ec749e013f2e1f76de5e7c7634642e600a7467ce DTCoreText: ec749e013f2e1f76de5e7c7634642e600a7467ce
DTFoundation: 76b624967cf5bcaae6bb057d622c536c36ef36d0 DTFoundation: 76b624967cf5bcaae6bb057d622c536c36ef36d0
@@ -162,7 +167,7 @@ SPEC CHECKSUMS:
libbase58: 8abc2a53ac38cd37720c0acbc53ef3660e9016c2 libbase58: 8abc2a53ac38cd37720c0acbc53ef3660e9016c2
libPhoneNumber-iOS: 0a32a9525cf8744fe02c5206eb30d571e38f7d75 libPhoneNumber-iOS: 0a32a9525cf8744fe02c5206eb30d571e38f7d75
MatomoTracker: 1d98ddc58322fd9d65e1a6886b8e41363047bd13 MatomoTracker: 1d98ddc58322fd9d65e1a6886b8e41363047bd13
MatrixSDK: 0c394a7a3928208797d403bcf5706b6628690a96 MatrixSDK: 45f9f97e7424e5d8731bf6b207c728a71caa8eb1
MatrixSDKCrypto: e44608012cae9befc52f13cd8e56c6f51ac83702 MatrixSDKCrypto: e44608012cae9befc52f13cd8e56c6f51ac83702
ReadMoreTextView: 19147adf93abce6d7271e14031a00303fe28720d ReadMoreTextView: 19147adf93abce6d7271e14031a00303fe28720d
Realm: 9ca328bd7e700cc19703799785e37f77d1a130f2 Realm: 9ca328bd7e700cc19703799785e37f77d1a130f2
@@ -178,6 +183,6 @@ SPEC CHECKSUMS:
zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c
ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5
PODFILE CHECKSUM: 34582260e0e8275df7a07d3947cdac7794125b8e PODFILE CHECKSUM: 92b7ae8a330216932c5a690e48743b4d7b1bdea8
COCOAPODS: 1.15.2 COCOAPODS: 1.16.2

View File

@@ -105,8 +105,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/element-hq/matrix-rich-text-editor-swift", "location" : "https://github.com/element-hq/matrix-rich-text-editor-swift",
"state" : { "state" : {
"revision" : "b6583a47b5d14d2dc8405a0303ebd4041b877707", "revision" : "5f703d05bbf39f3026cc3c0697aab753a71fd83b",
"version" : "2.37.12" "version" : "2.41.0"
} }
}, },
{ {

View File

@@ -206,23 +206,27 @@ final class AuthenticationLoginCoordinator: Coordinator, Presentable {
} }
@MainActor private func parseUsername(_ username: String) { @MainActor private func parseUsername(_ username: String) {
guard MXTools.isMatrixUserIdentifier(username) else { return }
let domain = username.components(separatedBy: ":")[1]
let homeserverAddress = HomeserverAddress.sanitized(domain)
startLoading(isInteractionBlocking: false) // bwi #8170 no homeserver over matrix ID ch
if BWIBuildSettings.shared.allowMatrixIDForHomeserverSelection {
currentTask = Task { [weak self] in guard MXTools.isMatrixUserIdentifier(username) else { return }
do { let domain = username.components(separatedBy: ":")[1]
try await authenticationService.startFlow(.login, for: homeserverAddress) let homeserverAddress = HomeserverAddress.sanitized(domain)
guard !Task.isCancelled else { return } startLoading(isInteractionBlocking: false)
updateViewModel() currentTask = Task { [weak self] in
self?.stopLoading() do {
} catch { try await authenticationService.startFlow(.login, for: homeserverAddress)
self?.stopLoading()
self?.handleError(error) guard !Task.isCancelled else { return }
updateViewModel()
self?.stopLoading()
} catch {
self?.stopLoading()
self?.handleError(error)
}
} }
} }
} }