From 444782961805e930660d44e532129593646b259d Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Fri, 24 Nov 2023 17:34:15 +0200 Subject: [PATCH] vector-im/element-meta/issues/2206 - Fix room avatars not showing up on the message forwarding screen --- ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift | 1 + .../MessageForwardingScreenCoordinator.swift | 2 ++ .../MessageForwardingScreenViewModel.swift | 3 ++- .../View/MessageForwardingScreen.swift | 4 +++- UnitTests/Sources/MessageForwardingScreenViewModelTests.swift | 4 +++- .../PreviewTests/test_messageForwardingScreen.1.png | 4 ++-- changelog.d/{pr-2213.change => pr-2165.change} | 0 changelog.d/pr-2168.bugfix | 1 + 8 files changed, 14 insertions(+), 5 deletions(-) rename changelog.d/{pr-2213.change => pr-2165.change} (100%) create mode 100644 changelog.d/pr-2168.bugfix diff --git a/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift b/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift index e8730868e..e64d5738e 100644 --- a/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift +++ b/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift @@ -749,6 +749,7 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol { let messageForwardingNavigationStackCoordinator = NavigationStackCoordinator() let parameters = MessageForwardingScreenCoordinatorParameters(roomSummaryProvider: roomSummaryProvider, + mediaProvider: userSession.mediaProvider, sourceRoomID: roomProxy.id) let coordinator = MessageForwardingScreenCoordinator(parameters: parameters) diff --git a/ElementX/Sources/Screens/MessageForwardingScreen/MessageForwardingScreenCoordinator.swift b/ElementX/Sources/Screens/MessageForwardingScreen/MessageForwardingScreenCoordinator.swift index 675e688d4..4a3745295 100644 --- a/ElementX/Sources/Screens/MessageForwardingScreen/MessageForwardingScreenCoordinator.swift +++ b/ElementX/Sources/Screens/MessageForwardingScreen/MessageForwardingScreenCoordinator.swift @@ -19,6 +19,7 @@ import SwiftUI struct MessageForwardingScreenCoordinatorParameters { let roomSummaryProvider: RoomSummaryProviderProtocol + let mediaProvider: MediaProviderProtocol let sourceRoomID: String } @@ -41,6 +42,7 @@ final class MessageForwardingScreenCoordinator: CoordinatorProtocol { self.parameters = parameters viewModel = MessageForwardingScreenViewModel(roomSummaryProvider: parameters.roomSummaryProvider, + mediaProvider: parameters.mediaProvider, sourceRoomID: parameters.sourceRoomID) } diff --git a/ElementX/Sources/Screens/MessageForwardingScreen/MessageForwardingScreenViewModel.swift b/ElementX/Sources/Screens/MessageForwardingScreen/MessageForwardingScreenViewModel.swift index d0ae03c79..278a5f84b 100644 --- a/ElementX/Sources/Screens/MessageForwardingScreen/MessageForwardingScreenViewModel.swift +++ b/ElementX/Sources/Screens/MessageForwardingScreen/MessageForwardingScreenViewModel.swift @@ -30,11 +30,12 @@ class MessageForwardingScreenViewModel: MessageForwardingScreenViewModelType, Me } init(roomSummaryProvider: RoomSummaryProviderProtocol, + mediaProvider: MediaProviderProtocol, sourceRoomID: String) { self.roomSummaryProvider = roomSummaryProvider self.sourceRoomID = sourceRoomID - super.init(initialViewState: MessageForwardingScreenViewState()) + super.init(initialViewState: MessageForwardingScreenViewState(), imageProvider: mediaProvider) roomSummaryProvider.roomListPublisher .receive(on: DispatchQueue.main) diff --git a/ElementX/Sources/Screens/MessageForwardingScreen/View/MessageForwardingScreen.swift b/ElementX/Sources/Screens/MessageForwardingScreen/View/MessageForwardingScreen.swift index 2093893fd..0561f6091 100644 --- a/ElementX/Sources/Screens/MessageForwardingScreen/View/MessageForwardingScreen.swift +++ b/ElementX/Sources/Screens/MessageForwardingScreen/View/MessageForwardingScreen.swift @@ -108,7 +108,9 @@ private struct MessageForwardingRoomCell: View { struct MessageForwardingScreen_Previews: PreviewProvider, TestablePreview { static var previews: some View { let summaryProvider = MockRoomSummaryProvider(state: .loaded(.mockRooms)) - let viewModel = MessageForwardingScreenViewModel(roomSummaryProvider: summaryProvider, sourceRoomID: "") + let viewModel = MessageForwardingScreenViewModel(roomSummaryProvider: summaryProvider, + mediaProvider: MockMediaProvider(), + sourceRoomID: "") NavigationStack { MessageForwardingScreen(context: viewModel.context) diff --git a/UnitTests/Sources/MessageForwardingScreenViewModelTests.swift b/UnitTests/Sources/MessageForwardingScreenViewModelTests.swift index 890be87c5..76ee52cd1 100644 --- a/UnitTests/Sources/MessageForwardingScreenViewModelTests.swift +++ b/UnitTests/Sources/MessageForwardingScreenViewModelTests.swift @@ -27,7 +27,9 @@ class MessageForwardingScreenViewModelTests: XCTestCase { override func setUpWithError() throws { cancellables.removeAll() - viewModel = MessageForwardingScreenViewModel(roomSummaryProvider: MockRoomSummaryProvider(state: .loaded(.mockRooms)), sourceRoomID: "1") + viewModel = MessageForwardingScreenViewModel(roomSummaryProvider: MockRoomSummaryProvider(state: .loaded(.mockRooms)), + mediaProvider: MockMediaProvider(), + sourceRoomID: "1") context = viewModel.context } diff --git a/UnitTests/__Snapshots__/PreviewTests/test_messageForwardingScreen.1.png b/UnitTests/__Snapshots__/PreviewTests/test_messageForwardingScreen.1.png index 3c9cb34e8..c91277e38 100644 --- a/UnitTests/__Snapshots__/PreviewTests/test_messageForwardingScreen.1.png +++ b/UnitTests/__Snapshots__/PreviewTests/test_messageForwardingScreen.1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0df3d63b8e54f9d6bef4515a687e319e06324ead88e17ef0e9522a426f6fd7fe -size 158624 +oid sha256:afbc0d42973b4360949b551b5e7d34543a262eef3ea29c3bc1219c06d2249f5a +size 170537 diff --git a/changelog.d/pr-2213.change b/changelog.d/pr-2165.change similarity index 100% rename from changelog.d/pr-2213.change rename to changelog.d/pr-2165.change diff --git a/changelog.d/pr-2168.bugfix b/changelog.d/pr-2168.bugfix new file mode 100644 index 000000000..9943c1c51 --- /dev/null +++ b/changelog.d/pr-2168.bugfix @@ -0,0 +1 @@ +Fix room avatars not showing up on the message forwarding screen \ No newline at end of file