Knocking feature polishing part 2 (#3738)

* improved implementation of the unknown state

* forget button in the banned state

* error handling for forbidden access

* added the forget function

fixed DMs, and updated preview tests

* removed banned room proxy

* code polishing and test improvement
This commit is contained in:
Mauro
2025-02-05 14:48:24 +01:00
committed by GitHub
parent cfaa1b455a
commit 3839025caa
28 changed files with 466 additions and 101 deletions
@@ -32,4 +32,14 @@ final class RoomPreviewProxy: RoomPreviewProxyProtocol {
senderRoomMember: senderRoomMember)
}
}
func forgetRoom() async -> Result<Void, RoomProxyError> {
do {
try await roomPreview.forget()
return .success(())
} catch {
MXLog.error("Failed forgetting the room with error: \(error)")
return .failure(.sdkError(error))
}
}
}
@@ -11,4 +11,7 @@ import Foundation
protocol RoomPreviewProxyProtocol {
var info: RoomPreviewInfoProxy { get }
var ownMembershipDetails: RoomMembershipDetailsProxyProtocol? { get async }
/// Use this function to forget the room, should only be used if the current user membership is `banned`
func forgetRoom() async -> Result<Void, RoomProxyError>
}
@@ -22,8 +22,8 @@ enum RoomProxyType {
case joined(JoinedRoomProxyProtocol)
case invited(InvitedRoomProxyProtocol)
case knocked(KnockedRoomProxyProtocol)
case left
case banned
case left
}
// sourcery: AutoMockable