diff --git a/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinator.swift b/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinator.swift index 97073e939..27da9c669 100644 --- a/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinator.swift +++ b/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinator.swift @@ -307,9 +307,15 @@ class UserSessionFlowCoordinator: FlowCoordinatorProtocol { case (.userProfileScreen, .dismissedUserProfileScreen, .roomList): break - case (.roomList, .showShareExtensionRoomList, .shareExtensionRoomList(let sharePayload)): - clearRoute(animated: animated) - presentRoomSelectionScreen(sharePayload: sharePayload, animated: animated) + case (.roomList(let selectedRoomID), .showShareExtensionRoomList, .shareExtensionRoomList(let sharePayload)): + Task { + if selectedRoomID != nil { + self.clearRoute(animated: animated) + try? await Task.sleep(for: .seconds(1.5)) + } + + self.presentRoomSelectionScreen(sharePayload: sharePayload, animated: animated) + } case (.shareExtensionRoomList, .dismissedShareExtensionRoomList, .roomList): dismissRoomSelectionScreen()