diff --git a/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift b/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift index bb95e02de..3f09f3e23 100644 --- a/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift +++ b/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift @@ -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! var reportRoomForIdentifierReasonReturnValue: Result! { @@ -3336,9 +3336,9 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } } } - var reportRoomForIdentifierReasonClosure: ((String, String?) async -> Result)? + var reportRoomForIdentifierReasonClosure: ((String, String) async -> Result)? - func reportRoomForIdentifier(_ identifier: String, reason: String?) async -> Result { + func reportRoomForIdentifier(_ identifier: String, reason: String) async -> Result { 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! var reportRoomReasonReturnValue: Result! { @@ -6972,9 +6972,9 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } } } - var reportRoomReasonClosure: ((String?) async -> Result)? + var reportRoomReasonClosure: ((String) async -> Result)? - func reportRoom(reason: String?) async -> Result { + func reportRoom(reason: String) async -> Result { reportRoomReasonCallsCount += 1 reportRoomReasonReceivedReason = reason DispatchQueue.main.async { diff --git a/ElementX/Sources/Mocks/Generated/SDKGeneratedMocks.swift b/ElementX/Sources/Mocks/Generated/SDKGeneratedMocks.swift index d4a11b642..b011ad52a 100644 --- a/ElementX/Sources/Mocks/Generated/SDKGeneratedMocks.swift +++ b/ElementX/Sources/Mocks/Generated/SDKGeneratedMocks.swift @@ -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 } diff --git a/ElementX/Sources/Screens/DeclineAndBlockScreen/DeclineAndBlockScreenViewModel.swift b/ElementX/Sources/Screens/DeclineAndBlockScreen/DeclineAndBlockScreenViewModel.swift index fe9024733..eeed50e17 100644 --- a/ElementX/Sources/Screens/DeclineAndBlockScreen/DeclineAndBlockScreenViewModel.swift +++ b/ElementX/Sources/Screens/DeclineAndBlockScreen/DeclineAndBlockScreenViewModel.swift @@ -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 { diff --git a/ElementX/Sources/Screens/ReportRoomScreen/ReportRoomScreenViewModel.swift b/ElementX/Sources/Screens/ReportRoomScreen/ReportRoomScreenViewModel.swift index e96c29fba..f961ae3c1 100644 --- a/ElementX/Sources/Screens/ReportRoomScreen/ReportRoomScreenViewModel.swift +++ b/ElementX/Sources/Screens/ReportRoomScreen/ReportRoomScreenViewModel.swift @@ -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: diff --git a/ElementX/Sources/Services/Client/ClientProxy.swift b/ElementX/Sources/Services/Client/ClientProxy.swift index 4d6400e0e..abb481920 100644 --- a/ElementX/Sources/Services/Client/ClientProxy.swift +++ b/ElementX/Sources/Services/Client/ClientProxy.swift @@ -572,7 +572,7 @@ class ClientProxy: ClientProxyProtocol { func roomPreviewForIdentifier(_ identifier: String, via: [String]) async -> Result { 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 { + func reportRoomForIdentifier(_ identifier: String, reason: String) async -> Result { 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 } } } diff --git a/ElementX/Sources/Services/Client/ClientProxyProtocol.swift b/ElementX/Sources/Services/Client/ClientProxyProtocol.swift index 3590da999..8fdcb9b31 100644 --- a/ElementX/Sources/Services/Client/ClientProxyProtocol.swift +++ b/ElementX/Sources/Services/Client/ClientProxyProtocol.swift @@ -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 + func reportRoomForIdentifier(_ identifier: String, reason: String) async -> Result @discardableResult func loadUserDisplayName() async -> Result diff --git a/ElementX/Sources/Services/Room/JoinedRoomProxy.swift b/ElementX/Sources/Services/Room/JoinedRoomProxy.swift index 062f5da44..cc9f63f5a 100644 --- a/ElementX/Sources/Services/Room/JoinedRoomProxy.swift +++ b/ElementX/Sources/Services/Room/JoinedRoomProxy.swift @@ -294,7 +294,7 @@ class JoinedRoomProxy: JoinedRoomProxyProtocol { } } - func reportRoom(reason: String?) async -> Result { + func reportRoom(reason: String) async -> Result { do { try await room.reportRoom(reason: reason) return .success(()) diff --git a/ElementX/Sources/Services/Room/RoomPreview/RoomPreviewProxy.swift b/ElementX/Sources/Services/Room/RoomPreview/RoomPreviewProxy.swift index 9e667a319..646dda008 100644 --- a/ElementX/Sources/Services/Room/RoomPreview/RoomPreviewProxy.swift +++ b/ElementX/Sources/Services/Room/RoomPreview/RoomPreviewProxy.swift @@ -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? { diff --git a/ElementX/Sources/Services/Room/RoomProxyProtocol.swift b/ElementX/Sources/Services/Room/RoomProxyProtocol.swift index df3a95b43..9a9ad459f 100644 --- a/ElementX/Sources/Services/Room/RoomProxyProtocol.swift +++ b/ElementX/Sources/Services/Room/RoomProxyProtocol.swift @@ -101,7 +101,7 @@ protocol JoinedRoomProxyProtocol: RoomProxyProtocol { func reportContent(_ eventID: String, reason: String?) async -> Result - func reportRoom(reason: String?) async -> Result + func reportRoom(reason: String) async -> Result func leaveRoom() async -> Result