Fix various new SDK breaking changes.

This commit is contained in:
Stefan Ceriu
2025-07-22 18:09:27 +03:00
committed by Stefan Ceriu
parent ffe2f726e7
commit bd49500fa1
9 changed files with 26 additions and 26 deletions
@@ -3309,8 +3309,8 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable {
var reportRoomForIdentifierReasonCalled: Bool {
return reportRoomForIdentifierReasonCallsCount > 0
}
var reportRoomForIdentifierReasonReceivedArguments: (identifier: String, reason: String?)?
var reportRoomForIdentifierReasonReceivedInvocations: [(identifier: String, reason: String?)] = []
var reportRoomForIdentifierReasonReceivedArguments: (identifier: String, reason: String)?
var reportRoomForIdentifierReasonReceivedInvocations: [(identifier: String, reason: String)] = []
var reportRoomForIdentifierReasonUnderlyingReturnValue: Result<Void, ClientProxyError>!
var reportRoomForIdentifierReasonReturnValue: Result<Void, ClientProxyError>! {
@@ -3336,9 +3336,9 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable {
}
}
}
var reportRoomForIdentifierReasonClosure: ((String, String?) async -> Result<Void, ClientProxyError>)?
var reportRoomForIdentifierReasonClosure: ((String, String) async -> Result<Void, ClientProxyError>)?
func reportRoomForIdentifier(_ identifier: String, reason: String?) async -> Result<Void, ClientProxyError> {
func reportRoomForIdentifier(_ identifier: String, reason: String) async -> Result<Void, ClientProxyError> {
reportRoomForIdentifierReasonCallsCount += 1
reportRoomForIdentifierReasonReceivedArguments = (identifier: identifier, reason: reason)
DispatchQueue.main.async {
@@ -6946,7 +6946,7 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable {
return reportRoomReasonCallsCount > 0
}
var reportRoomReasonReceivedReason: String?
var reportRoomReasonReceivedInvocations: [String?] = []
var reportRoomReasonReceivedInvocations: [String] = []
var reportRoomReasonUnderlyingReturnValue: Result<Void, RoomProxyError>!
var reportRoomReasonReturnValue: Result<Void, RoomProxyError>! {
@@ -6972,9 +6972,9 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable {
}
}
}
var reportRoomReasonClosure: ((String?) async -> Result<Void, RoomProxyError>)?
var reportRoomReasonClosure: ((String) async -> Result<Void, RoomProxyError>)?
func reportRoom(reason: String?) async -> Result<Void, RoomProxyError> {
func reportRoom(reason: String) async -> Result<Void, RoomProxyError> {
reportRoomReasonCallsCount += 1
reportRoomReasonReceivedReason = reason
DispatchQueue.main.async {
@@ -15153,10 +15153,10 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable {
return reportRoomReasonCallsCount > 0
}
open var reportRoomReasonReceivedReason: String?
open var reportRoomReasonReceivedInvocations: [String?] = []
open var reportRoomReasonClosure: ((String?) async throws -> Void)?
open var reportRoomReasonReceivedInvocations: [String] = []
open var reportRoomReasonClosure: ((String) async throws -> Void)?
open override func reportRoom(reason: String?) async throws {
open override func reportRoom(reason: String) async throws {
if let error = reportRoomReasonThrowableError {
throw error
}
@@ -19941,7 +19941,6 @@ open class RoomPreviewSDKMock: MatrixRustSDK.RoomPreview, @unchecked Sendable {
//MARK: - info
open var infoThrowableError: Error?
var infoUnderlyingCallsCount = 0
open var infoCallsCount: Int {
get {
@@ -19994,15 +19993,12 @@ open class RoomPreviewSDKMock: MatrixRustSDK.RoomPreview, @unchecked Sendable {
}
}
}
open var infoClosure: (() throws -> RoomPreviewInfo)?
open var infoClosure: (() -> RoomPreviewInfo)?
open override func info() throws -> RoomPreviewInfo {
if let error = infoThrowableError {
throw error
}
open override func info() -> RoomPreviewInfo {
infoCallsCount += 1
if let infoClosure = infoClosure {
return try infoClosure()
return infoClosure()
} else {
return infoReturnValue
}
@@ -58,7 +58,7 @@ class DeclineAndBlockScreenViewModel: DeclineAndBlockScreenViewModelType, Declin
case .success:
var shouldShowFailure = false
if state.bindings.shouldReport {
shouldShowFailure = await clientProxy.reportRoomForIdentifier(roomID, reason: state.bindings.reportReason.isEmpty ? nil : state.bindings.reportReason).isFailure
shouldShowFailure = await clientProxy.reportRoomForIdentifier(roomID, reason: state.bindings.reportReason.isEmpty ? "" : state.bindings.reportReason).isFailure
}
if state.bindings.shouldBlockUser {
@@ -38,7 +38,7 @@ class ReportRoomScreenViewModel: ReportRoomScreenViewModelType, ReportRoomScreen
private func report() async {
showLoadingIndicator()
let result = await roomProxy.reportRoom(reason: state.bindings.reason.isEmpty ? nil : state.bindings.reason)
let result = await roomProxy.reportRoom(reason: state.bindings.reason.isEmpty ? "" : state.bindings.reason)
switch result {
case .success:
@@ -572,7 +572,7 @@ class ClientProxy: ClientProxyProtocol {
func roomPreviewForIdentifier(_ identifier: String, via: [String]) async -> Result<RoomPreviewProxyProtocol, ClientProxyError> {
do {
let roomPreview = try await client.getRoomPreviewFromRoomId(roomId: identifier, viaServers: via)
return try .success(RoomPreviewProxy(roomPreview: roomPreview))
return .success(RoomPreviewProxy(roomPreview: roomPreview))
} catch ClientError.MatrixApi(.forbidden, _, _, _) {
MXLog.error("Failed retrieving preview for room: \(identifier) is private")
return .failure(.roomPreviewIsPrivate)
@@ -590,7 +590,7 @@ class ClientProxy: ClientProxyProtocol {
staticRoomSummaryProvider.roomListPublisher.value.first { $0.canonicalAlias == alias || $0.alternativeAliases.contains(alias) }
}
func reportRoomForIdentifier(_ identifier: String, reason: String?) async -> Result<Void, ClientProxyError> {
func reportRoomForIdentifier(_ identifier: String, reason: String) async -> Result<Void, ClientProxyError> {
do {
guard let room = try client.getRoom(roomId: identifier) else {
MXLog.error("Failed reporting room with identifier: \(identifier), room not in local store")
@@ -1231,6 +1231,8 @@ private extension MediaPreviewConfig {
.privateOnly
case .off:
.never
case .none:
.always
}
}
@@ -1240,6 +1242,8 @@ private extension MediaPreviewConfig {
true
case .on:
false
case .none:
true
}
}
}
@@ -171,7 +171,7 @@ protocol ClientProxyProtocol: AnyObject, MediaLoaderProtocol {
func roomSummaryForAlias(_ alias: String) -> RoomSummary?
/// Will only work for rooms that are in our room list/local store
func reportRoomForIdentifier(_ identifier: String, reason: String?) async -> Result<Void, ClientProxyError>
func reportRoomForIdentifier(_ identifier: String, reason: String) async -> Result<Void, ClientProxyError>
@discardableResult func loadUserDisplayName() async -> Result<Void, ClientProxyError>
@@ -294,7 +294,7 @@ class JoinedRoomProxy: JoinedRoomProxyProtocol {
}
}
func reportRoom(reason: String?) async -> Result<Void, RoomProxyError> {
func reportRoom(reason: String) async -> Result<Void, RoomProxyError> {
do {
try await room.reportRoom(reason: reason)
return .success(())
@@ -12,9 +12,9 @@ final class RoomPreviewProxy: RoomPreviewProxyProtocol {
let info: RoomPreviewInfoProxy
init(roomPreview: RoomPreview) throws {
init(roomPreview: RoomPreview) {
self.roomPreview = roomPreview
info = try .init(roomPreviewInfo: roomPreview.info())
info = .init(roomPreviewInfo: roomPreview.info())
}
var ownMembershipDetails: RoomMembershipDetailsProxyProtocol? {
@@ -101,7 +101,7 @@ protocol JoinedRoomProxyProtocol: RoomProxyProtocol {
func reportContent(_ eventID: String, reason: String?) async -> Result<Void, RoomProxyError>
func reportRoom(reason: String?) async -> Result<Void, RoomProxyError>
func reportRoom(reason: String) async -> Result<Void, RoomProxyError>
func leaveRoom() async -> Result<Void, RoomProxyError>