From aa9836dadee0a4cd4431009f45584ab7dae5c074 Mon Sep 17 00:00:00 2001
From: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
Date: Thu, 26 Oct 2017 11:01:19 -0400
Subject: [PATCH] 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>
---
 .../Conversations/Conversation/ConversationViewModel.swift      | 2 +-
 Ring/Ring/Features/Conversations/ConversationsCoordinator.swift | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift b/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift
index b9f9eab5d..d9b548037 100644
--- a/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift
+++ b/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift
@@ -87,7 +87,7 @@ class ConversationViewModel: ViewModel {
                 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 21499653c..b87948632 100644
--- a/Ring/Ring/Features/Conversations/ConversationsCoordinator.swift
+++ b/Ring/Ring/Features/Conversations/ConversationsCoordinator.swift
@@ -64,7 +64,7 @@ class ConversationsCoordinator: Coordinator, StateableResponsive {
 
     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)
     }
 }
-- 
GitLab