@@ -109,16 +109,7 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
109
109
case . roomList:
110
110
stateMachine. tryEvent ( . dismissRoom, userInfo: EventUserInfo ( animated: animated) )
111
111
case . roomMemberDetails( let userID) :
112
- Task {
113
- switch await roomProxy? . getMember ( userID: userID) {
114
- case . success( let member) :
115
- stateMachine. tryEvent ( . presentRoomMemberDetails( member: . init( value: member) ) )
116
- case . failure( let error) :
117
- MXLog . error ( " [RoomFlowCoordinator] Failed to get member: \( error) " )
118
- case . none:
119
- MXLog . error ( " [RoomFlowCoordinator] Failed to get member: RoomProxy is nil " )
120
- }
121
- }
112
+ stateMachine. tryEvent ( . presentRoomMemberDetails( userID: userID) )
122
113
case . genericCallLink, . oidcCallback, . settings, . chatBackupSettings:
123
114
break
124
115
}
@@ -173,10 +164,10 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
173
164
case ( . roomMembersList( let roomID) , . dismissRoomMembersList) :
174
165
return . roomDetails( roomID: roomID, isRoot: false )
175
166
176
- case ( . room( let roomID) , . presentRoomMemberDetails( let member ) ) :
177
- return . roomMemberDetails( roomID: roomID, member : member , fromRoomMembersList: false )
178
- case ( . roomMembersList( let roomID) , . presentRoomMemberDetails( let member ) ) :
179
- return . roomMemberDetails( roomID: roomID, member : member , fromRoomMembersList: true )
167
+ case ( . room( let roomID) , . presentRoomMemberDetails( userID : let userID ) ) :
168
+ return . roomMemberDetails( roomID: roomID, userID : userID , fromRoomMembersList: false )
169
+ case ( . roomMembersList( let roomID) , . presentRoomMemberDetails( userID : let userID ) ) :
170
+ return . roomMemberDetails( roomID: roomID, userID : userID , fromRoomMembersList: true )
180
171
case ( . roomMemberDetails( let roomID, _, let fromRoomMembersList) , . dismissRoomMemberDetails) :
181
172
return fromRoomMembersList ? . roomMembersList( roomID: roomID) : . room( roomID: roomID)
182
173
@@ -285,13 +276,13 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
285
276
case ( . roomMembersList, . dismissRoomMembersList, . roomDetails) :
286
277
break
287
278
288
- case ( . room, . presentRoomMemberDetails, . roomMemberDetails( _, let member , _) ) :
289
- presentRoomMemberDetails ( member : member . value )
279
+ case ( . room, . presentRoomMemberDetails, . roomMemberDetails( _, let userID , _) ) :
280
+ presentRoomMemberDetails ( userID : userID )
290
281
case ( . roomMemberDetails, . dismissRoomMemberDetails, . room) :
291
282
break
292
283
293
- case ( . roomMembersList, . presentRoomMemberDetails, . roomMemberDetails( _, let member , _) ) :
294
- presentRoomMemberDetails ( member : member . value )
284
+ case ( . roomMembersList, . presentRoomMemberDetails, . roomMemberDetails( _, let userID , _) ) :
285
+ presentRoomMemberDetails ( userID : userID )
295
286
case ( . roomMemberDetails, . dismissRoomMemberDetails, . roomMembersList) :
296
287
break
297
288
@@ -469,8 +460,8 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
469
460
stateMachine. tryEvent ( . presentPollForm( mode: mode) )
470
461
case . presentLocationViewer( _, let geoURI, let description) :
471
462
stateMachine. tryEvent ( . presentMapNavigator( interactionMode: . viewOnly( geoURI: geoURI, description: description) ) )
472
- case . presentRoomMemberDetails( member : let member ) :
473
- stateMachine. tryEvent ( . presentRoomMemberDetails( member : . init ( value : member ) ) )
463
+ case . presentRoomMemberDetails( userID : let userID ) :
464
+ stateMachine. tryEvent ( . presentRoomMemberDetails( userID : userID ) )
474
465
case . presentMessageForwarding( let itemID) :
475
466
stateMachine. tryEvent ( . presentMessageForwarding( itemID: itemID) )
476
467
case . presentCallScreen:
@@ -598,7 +589,7 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
598
589
case . invite:
599
590
stateMachine. tryEvent ( . presentInviteUsersScreen)
600
591
case . selectedMember( let member) :
601
- stateMachine. tryEvent ( . presentRoomMemberDetails( member : . init ( value : member) ) )
592
+ stateMachine. tryEvent ( . presentRoomMemberDetails( userID : member. userID ) )
602
593
}
603
594
}
604
595
. store ( in: & cancellables)
@@ -931,21 +922,21 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
931
922
}
932
923
}
933
924
934
- private func presentRoomMemberDetails( member : RoomMemberProxyProtocol ) {
925
+ private func presentRoomMemberDetails( userID : String ) {
935
926
guard let roomProxy else {
936
927
fatalError ( )
937
928
}
938
929
939
930
let params = RoomMemberDetailsScreenCoordinatorParameters ( roomProxy: roomProxy,
940
- roomMemberProxy : member ,
931
+ userID : userID ,
941
932
mediaProvider: userSession. mediaProvider,
942
933
userIndicatorController: userIndicatorController)
943
934
let coordinator = RoomMemberDetailsScreenCoordinator ( parameters: params)
944
935
945
936
coordinator. actions. sink { [ weak self] action in
946
937
guard let self else { return }
947
938
switch action {
948
- case . openDirectChat:
939
+ case . openDirectChat( let displayName ) :
949
940
let loadingIndicatorIdentifier = " OpenDirectChatLoadingIndicator "
950
941
951
942
userIndicatorController. submitIndicator ( UserIndicator ( id: loadingIndicatorIdentifier,
@@ -956,12 +947,12 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
956
947
Task { [ weak self] in
957
948
guard let self else { return }
958
949
959
- let currentDirectRoom = await userSession. clientProxy. directRoomForUserID ( member . userID)
950
+ let currentDirectRoom = await userSession. clientProxy. directRoomForUserID ( userID)
960
951
switch currentDirectRoom {
961
952
case . success( . some( let roomID) ) :
962
953
stateMachine. tryEvent ( . presentRoom( roomID: roomID) )
963
954
case . success( nil ) :
964
- switch await userSession. clientProxy. createDirectRoom ( with: member . userID, expectedRoomName: member . displayName) {
955
+ switch await userSession. clientProxy. createDirectRoom ( with: userID, expectedRoomName: displayName) {
965
956
case . success( let roomID) :
966
957
analytics. trackCreatedRoom ( isDM: true )
967
958
stateMachine. tryEvent ( . presentRoom( roomID: roomID) )
@@ -1185,7 +1176,7 @@ private extension RoomFlowCoordinator {
1185
1176
case notificationSettings( roomID: String )
1186
1177
case globalNotificationSettings( roomID: String )
1187
1178
case roomMembersList( roomID: String )
1188
- case roomMemberDetails( roomID: String , member : HashableRoomMemberWrapper , fromRoomMembersList: Bool )
1179
+ case roomMemberDetails( roomID: String , userID : String , fromRoomMembersList: Bool )
1189
1180
case inviteUsersScreen( roomID: String , fromRoomMembersList: Bool )
1190
1181
case mediaUploadPicker( roomID: String , source: MediaPickerScreenSource )
1191
1182
case mediaUploadPreview( roomID: String , fileURL: URL )
@@ -1225,7 +1216,7 @@ private extension RoomFlowCoordinator {
1225
1216
case presentRoomMembersList
1226
1217
case dismissRoomMembersList
1227
1218
1228
- case presentRoomMemberDetails( member : HashableRoomMemberWrapper )
1219
+ case presentRoomMemberDetails( userID : String )
1229
1220
case dismissRoomMemberDetails
1230
1221
1231
1222
case presentInviteUsersScreen
0 commit comments