fix: avoid multiple binds on message cells in conversation view

Change-Id: I308b972c8d5a6042f0391116ef008c0a47fb2af7
Reviewed-by: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
diff --git a/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift b/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift
index 8281d2d..f69bd15 100644
--- a/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift
+++ b/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift
@@ -746,7 +746,7 @@
                     .observeOn(MainScheduler.instance)
                     .filter {
                         return $0 != DataTransferStatus.unknown && $0 != item.lastTransferStatus && $0 != item.initialTransferStatus }
-                    .subscribe(onNext: { status in
+                    .subscribe(onNext: { [unowned self] status in
                         guard let currentIndexPath = tableView.indexPath(for: cell) else { return }
                         guard let transferId = item.daemonId else { return }
                         self.log.info("Transfer status change from: \(item.lastTransferStatus.description) to: \(status.description) for transferId: \(transferId) cell row: \(currentIndexPath.row)")
@@ -763,7 +763,7 @@
                     .disposed(by: cell.disposeBag)
 
                 cell.cancelButton.rx.tap
-                    .subscribe(onNext: { _ in
+                    .subscribe(onNext: { [unowned self] _ in
                         guard let transferId = item.daemonId else { return }
                         self.log.info("canceling transferId \(transferId)")
                         _ = self.viewModel.cancelTransfer(transferId: transferId)
@@ -776,7 +776,7 @@
 
                 if item.bubblePosition() == .received {
                     cell.acceptButton?.rx.tap
-                        .subscribe(onNext: { _ in
+                        .subscribe(onNext: { [unowned self] _ in
                             guard let transferId = item.daemonId else { return }
                             self.log.info("accepting transferId \(transferId)")
                             if self.viewModel.acceptTransfer(transferId: transferId, interactionID: item.messageId, messageContent: &item.message.content) != .success {