mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-17 23:18:27 +02:00
MESSENGER-6171 add federation ui for room invite
This commit is contained in:
@@ -24,7 +24,11 @@ import MatrixSDK
|
||||
func getFederationStatus(completion: ((_ isFederated:Bool) -> Void)?) {
|
||||
// #5715 do not show federation for invites
|
||||
if (summary != nil && summary.membership == .invite) {
|
||||
completion?(false)
|
||||
if let roomId = summary.roomId {
|
||||
completion?(isRoomIdFederated(roomId: roomId))
|
||||
} else {
|
||||
completion?(false)
|
||||
}
|
||||
} else {
|
||||
var federationStatus = true
|
||||
// Get federated flag
|
||||
@@ -225,4 +229,20 @@ import MatrixSDK
|
||||
} catch { return }
|
||||
}
|
||||
}
|
||||
|
||||
func isRoomIdFederated(roomId: String) -> Bool {
|
||||
var isFederated: Bool = false
|
||||
// Check if the room is from the same homeserver
|
||||
if self.mxSession != nil && self.mxSession.myUser != nil {
|
||||
if let myUserId = self.mxSession.myUser.userId {
|
||||
let memberUserIdComponents = roomId.components(separatedBy: ":")
|
||||
let myUserIdComponents = myUserId.components(separatedBy: ":")
|
||||
if memberUserIdComponents.count == 2 && myUserIdComponents.count == 2
|
||||
&& memberUserIdComponents.last != myUserIdComponents.last {
|
||||
isFederated = true
|
||||
}
|
||||
}
|
||||
}
|
||||
return isFederated
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user