Fixes element-hq/element-meta/issues/2525 - Display a warning when a user's pinned identity changes

This commit is contained in:
Stefan Ceriu
2024-10-01 08:41:15 +03:00
parent 70652ed7be
commit 794d0eead1
30 changed files with 678 additions and 131 deletions
@@ -4426,6 +4426,76 @@ class ClientProxyMock: ClientProxyProtocol {
return curve25519Base64ReturnValue
}
}
//MARK: - pinUserIdentity
var pinUserIdentityUnderlyingCallsCount = 0
var pinUserIdentityCallsCount: Int {
get {
if Thread.isMainThread {
return pinUserIdentityUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = pinUserIdentityUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
pinUserIdentityUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
pinUserIdentityUnderlyingCallsCount = newValue
}
}
}
}
var pinUserIdentityCalled: Bool {
return pinUserIdentityCallsCount > 0
}
var pinUserIdentityReceivedUserID: String?
var pinUserIdentityReceivedInvocations: [String] = []
var pinUserIdentityUnderlyingReturnValue: Result<Void, ClientProxyError>!
var pinUserIdentityReturnValue: Result<Void, ClientProxyError>! {
get {
if Thread.isMainThread {
return pinUserIdentityUnderlyingReturnValue
} else {
var returnValue: Result<Void, ClientProxyError>? = nil
DispatchQueue.main.sync {
returnValue = pinUserIdentityUnderlyingReturnValue
}
return returnValue!
}
}
set {
if Thread.isMainThread {
pinUserIdentityUnderlyingReturnValue = newValue
} else {
DispatchQueue.main.sync {
pinUserIdentityUnderlyingReturnValue = newValue
}
}
}
}
var pinUserIdentityClosure: ((String) async -> Result<Void, ClientProxyError>)?
func pinUserIdentity(_ userID: String) async -> Result<Void, ClientProxyError> {
pinUserIdentityCallsCount += 1
pinUserIdentityReceivedUserID = userID
DispatchQueue.main.async {
self.pinUserIdentityReceivedInvocations.append(userID)
}
if let pinUserIdentityClosure = pinUserIdentityClosure {
return await pinUserIdentityClosure(userID)
} else {
return pinUserIdentityReturnValue
}
}
//MARK: - resetIdentity
var resetIdentityUnderlyingCallsCount = 0
@@ -5791,6 +5861,11 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol {
set(value) { underlyingTypingMembersPublisher = value }
}
var underlyingTypingMembersPublisher: CurrentValuePublisher<[String], Never>!
var identityStatusChangesPublisher: CurrentValuePublisher<[IdentityStatusChange], Never> {
get { return underlyingIdentityStatusChangesPublisher }
set(value) { underlyingIdentityStatusChangesPublisher = value }
}
var underlyingIdentityStatusChangesPublisher: CurrentValuePublisher<[IdentityStatusChange], Never>!
var actionsPublisher: AnyPublisher<JoinedRoomProxyAction, Never> {
get { return underlyingActionsPublisher }
set(value) { underlyingActionsPublisher = value }
@@ -12495,6 +12570,7 @@ class RoomMemberProxyMock: RoomMemberProxyProtocol {
}
var underlyingUserID: String!
var displayName: String?
var disambiguatedDisplayName: String?
var avatarURL: URL?
var membership: MembershipState {
get { return underlyingMembership }
@@ -625,6 +625,52 @@ open class ClientSDKMock: MatrixRustSDK.Client {
}
}
//MARK: - customLoginWithJwt
open var customLoginWithJwtJwtInitialDeviceNameDeviceIdThrowableError: Error?
var customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount = 0
open var customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCount: Int {
get {
if Thread.isMainThread {
return customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue
}
}
}
}
open var customLoginWithJwtJwtInitialDeviceNameDeviceIdCalled: Bool {
return customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCount > 0
}
open var customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedArguments: (jwt: String, initialDeviceName: String?, deviceId: String?)?
open var customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedInvocations: [(jwt: String, initialDeviceName: String?, deviceId: String?)] = []
open var customLoginWithJwtJwtInitialDeviceNameDeviceIdClosure: ((String, String?, String?) async throws -> Void)?
open override func customLoginWithJwt(jwt: String, initialDeviceName: String?, deviceId: String?) async throws {
if let error = customLoginWithJwtJwtInitialDeviceNameDeviceIdThrowableError {
throw error
}
customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCount += 1
customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedArguments = (jwt: jwt, initialDeviceName: initialDeviceName, deviceId: deviceId)
DispatchQueue.main.async {
self.customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedInvocations.append((jwt: jwt, initialDeviceName: initialDeviceName, deviceId: deviceId))
}
try await customLoginWithJwtJwtInitialDeviceNameDeviceIdClosure?(jwt, initialDeviceName, deviceId)
}
//MARK: - deactivateAccount
open var deactivateAccountAuthDataEraseDataThrowableError: Error?
@@ -4953,6 +4999,77 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder {
}
}
//MARK: - roomDecryptionTrustRequirement
var roomDecryptionTrustRequirementTrustRequirementUnderlyingCallsCount = 0
open var roomDecryptionTrustRequirementTrustRequirementCallsCount: Int {
get {
if Thread.isMainThread {
return roomDecryptionTrustRequirementTrustRequirementUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = roomDecryptionTrustRequirementTrustRequirementUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
roomDecryptionTrustRequirementTrustRequirementUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
roomDecryptionTrustRequirementTrustRequirementUnderlyingCallsCount = newValue
}
}
}
}
open var roomDecryptionTrustRequirementTrustRequirementCalled: Bool {
return roomDecryptionTrustRequirementTrustRequirementCallsCount > 0
}
open var roomDecryptionTrustRequirementTrustRequirementReceivedTrustRequirement: TrustRequirement?
open var roomDecryptionTrustRequirementTrustRequirementReceivedInvocations: [TrustRequirement] = []
var roomDecryptionTrustRequirementTrustRequirementUnderlyingReturnValue: ClientBuilder!
open var roomDecryptionTrustRequirementTrustRequirementReturnValue: ClientBuilder! {
get {
if Thread.isMainThread {
return roomDecryptionTrustRequirementTrustRequirementUnderlyingReturnValue
} else {
var returnValue: ClientBuilder? = nil
DispatchQueue.main.sync {
returnValue = roomDecryptionTrustRequirementTrustRequirementUnderlyingReturnValue
}
return returnValue!
}
}
set {
if Thread.isMainThread {
roomDecryptionTrustRequirementTrustRequirementUnderlyingReturnValue = newValue
} else {
DispatchQueue.main.sync {
roomDecryptionTrustRequirementTrustRequirementUnderlyingReturnValue = newValue
}
}
}
}
open var roomDecryptionTrustRequirementTrustRequirementClosure: ((TrustRequirement) -> ClientBuilder)?
open override func roomDecryptionTrustRequirement(trustRequirement: TrustRequirement) -> ClientBuilder {
roomDecryptionTrustRequirementTrustRequirementCallsCount += 1
roomDecryptionTrustRequirementTrustRequirementReceivedTrustRequirement = trustRequirement
DispatchQueue.main.async {
self.roomDecryptionTrustRequirementTrustRequirementReceivedInvocations.append(trustRequirement)
}
if let roomDecryptionTrustRequirementTrustRequirementClosure = roomDecryptionTrustRequirementTrustRequirementClosure {
return roomDecryptionTrustRequirementTrustRequirementClosure(trustRequirement)
} else {
return roomDecryptionTrustRequirementTrustRequirementReturnValue
}
}
//MARK: - roomKeyRecipientStrategy
var roomKeyRecipientStrategyStrategyUnderlyingCallsCount = 0
@@ -12296,6 +12413,34 @@ open class RoomSDKMock: MatrixRustSDK.Room {
}
}
//MARK: - pinUserIdentity
open var pinUserIdentityUserIdThrowableError: Error?
var pinUserIdentityUserIdUnderlyingCallsCount = 0
open var pinUserIdentityUserIdCallsCount: Int {
get {
if Thread.isMainThread {
return pinUserIdentityUserIdUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = pinUserIdentityUserIdUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
pinUserIdentityUserIdUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
pinUserIdentityUserIdUnderlyingCallsCount = newValue
}
}
}
}
//MARK: - pinnedEventsTimeline
open var pinnedEventsTimelineInternalIdPrefixMaxEventsToLoadMaxConcurrentRequestsThrowableError: Error?
@@ -13068,6 +13213,77 @@ open class RoomSDKMock: MatrixRustSDK.Room {
try await setUnreadFlagNewValueClosure?(newValue)
}
//MARK: - subscribeToIdentityStatusChanges
var subscribeToIdentityStatusChangesListenerUnderlyingCallsCount = 0
open var subscribeToIdentityStatusChangesListenerCallsCount: Int {
get {
if Thread.isMainThread {
return subscribeToIdentityStatusChangesListenerUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = subscribeToIdentityStatusChangesListenerUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
subscribeToIdentityStatusChangesListenerUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
subscribeToIdentityStatusChangesListenerUnderlyingCallsCount = newValue
}
}
}
}
open var subscribeToIdentityStatusChangesListenerCalled: Bool {
return subscribeToIdentityStatusChangesListenerCallsCount > 0
}
open var subscribeToIdentityStatusChangesListenerReceivedListener: IdentityStatusChangeListener?
open var subscribeToIdentityStatusChangesListenerReceivedInvocations: [IdentityStatusChangeListener] = []
var subscribeToIdentityStatusChangesListenerUnderlyingReturnValue: TaskHandle!
open var subscribeToIdentityStatusChangesListenerReturnValue: TaskHandle! {
get {
if Thread.isMainThread {
return subscribeToIdentityStatusChangesListenerUnderlyingReturnValue
} else {
var returnValue: TaskHandle? = nil
DispatchQueue.main.sync {
returnValue = subscribeToIdentityStatusChangesListenerUnderlyingReturnValue
}
return returnValue!
}
}
set {
if Thread.isMainThread {
subscribeToIdentityStatusChangesListenerUnderlyingReturnValue = newValue
} else {
DispatchQueue.main.sync {
subscribeToIdentityStatusChangesListenerUnderlyingReturnValue = newValue
}
}
}
}
open var subscribeToIdentityStatusChangesListenerClosure: ((IdentityStatusChangeListener) -> TaskHandle)?
open override func subscribeToIdentityStatusChanges(listener: IdentityStatusChangeListener) -> TaskHandle {
subscribeToIdentityStatusChangesListenerCallsCount += 1
subscribeToIdentityStatusChangesListenerReceivedListener = listener
DispatchQueue.main.async {
self.subscribeToIdentityStatusChangesListenerReceivedInvocations.append(listener)
}
if let subscribeToIdentityStatusChangesListenerClosure = subscribeToIdentityStatusChangesListenerClosure {
return subscribeToIdentityStatusChangesListenerClosure(listener)
} else {
return subscribeToIdentityStatusChangesListenerReturnValue
}
}
//MARK: - subscribeToRoomInfoUpdates
var subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount = 0
@@ -14087,77 +14303,6 @@ open class RoomListSDKMock: MatrixRustSDK.RoomList {
fileprivate var pointer: UnsafeMutableRawPointer!
//MARK: - entries
var entriesListenerUnderlyingCallsCount = 0
open var entriesListenerCallsCount: Int {
get {
if Thread.isMainThread {
return entriesListenerUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = entriesListenerUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
entriesListenerUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
entriesListenerUnderlyingCallsCount = newValue
}
}
}
}
open var entriesListenerCalled: Bool {
return entriesListenerCallsCount > 0
}
open var entriesListenerReceivedListener: RoomListEntriesListener?
open var entriesListenerReceivedInvocations: [RoomListEntriesListener] = []
var entriesListenerUnderlyingReturnValue: TaskHandle!
open var entriesListenerReturnValue: TaskHandle! {
get {
if Thread.isMainThread {
return entriesListenerUnderlyingReturnValue
} else {
var returnValue: TaskHandle? = nil
DispatchQueue.main.sync {
returnValue = entriesListenerUnderlyingReturnValue
}
return returnValue!
}
}
set {
if Thread.isMainThread {
entriesListenerUnderlyingReturnValue = newValue
} else {
DispatchQueue.main.sync {
entriesListenerUnderlyingReturnValue = newValue
}
}
}
}
open var entriesListenerClosure: ((RoomListEntriesListener) -> TaskHandle)?
open override func entries(listener: RoomListEntriesListener) -> TaskHandle {
entriesListenerCallsCount += 1
entriesListenerReceivedListener = listener
DispatchQueue.main.async {
self.entriesListenerReceivedInvocations.append(listener)
}
if let entriesListenerClosure = entriesListenerClosure {
return entriesListenerClosure(listener)
} else {
return entriesListenerReturnValue
}
}
//MARK: - entriesWithDynamicAdapters
var entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount = 0