fix: check contact status
-When checking if contact accept the invitation conversation ringId was
used and that caused error when conversation is not exists. This patch
fix it by using recepient ringID.
-Conversation View Model is creating two times for each conversation.
One when creating SmartList and then when conversation is celected.
This patch use existing view model to present cinversation.
Change-Id: I67cb334efc61017b5b1f26573879b736a83b0fa3
Reviewed-by: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
diff --git a/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift b/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift
index b9f9eab..d9b5480 100644
--- a/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift
+++ b/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift
@@ -87,7 +87,7 @@
self.inviteButtonIsAvailable.onNext(!contact.confirmed)
}
self.contactsService.contactStatus.filter({ cont in
- return cont.ringId == contact?.ringId
+ return cont.ringId == contactRingId
})
.subscribe(onNext: { [unowned self] cont in
diff --git a/Ring/Ring/Features/Conversations/ConversationsCoordinator.swift b/Ring/Ring/Features/Conversations/ConversationsCoordinator.swift
index 2149965..b879486 100644
--- a/Ring/Ring/Features/Conversations/ConversationsCoordinator.swift
+++ b/Ring/Ring/Features/Conversations/ConversationsCoordinator.swift
@@ -64,7 +64,7 @@
private func showConversation (withConversationViewModel conversationViewModel: ConversationViewModel) {
let conversationViewController = ConversationViewController.instantiate(with: self.injectionBag)
- conversationViewController.viewModel.conversation = conversationViewModel.conversation
+ conversationViewController.viewModel = conversationViewModel
self.present(viewController: conversationViewController, withStyle: .show, withAnimation: true)
}
}