diff --git a/Ring/Ring/Database/DBManager.swift b/Ring/Ring/Database/DBManager.swift index ed4c36fcbab177d5ebab1897f4fff34f812b0ba9..5355819dd45d6e057737132b580ae0161151a119 100644 --- a/Ring/Ring/Database/DBManager.swift +++ b/Ring/Ring/Database/DBManager.swift @@ -118,6 +118,7 @@ enum InteractionStatus: String { case .transferOngoing: return DataTransferStatus.ongoing case .transferSuccess: return DataTransferStatus.success case .transferError: return DataTransferStatus.error + case .displayed: return DataTransferStatus.success default: return DataTransferStatus.unknown } } diff --git a/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift b/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift index 5ed4bd4d6637b254287847682bc4a46a6e953c6b..cd50c74ef61764af2f727f5588f210e93d485809 100644 --- a/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift +++ b/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift @@ -972,7 +972,7 @@ extension ConversationViewController: UITableViewDataSource { item.bubblePosition() == .generated ? MessageCellGenerated.self : MessageCellGenerated.self } - if item.message.incoming && item.message.status != .displayed { + if item.message.incoming && item.message.status != .displayed && !item.message.isTransfer { self.viewModel .setMessageAsRead(daemonId: item.message.daemonId, messageId: item.message.messageId) @@ -1028,7 +1028,9 @@ extension ConversationViewController: UITableViewDataSource { guard let sectionNumber = tableView?.numberOfSections, let rowNumber = tableView?.numberOfRows(inSection: indexPath.section) else {return} if indexPath.section < sectionNumber && indexPath.section >= 0 { - if indexPath.row < rowNumber && indexPath.row >= 0 { + if indexPath.row < rowNumber && + indexPath.row >= 0 && + indexPath.row != tableView?.numberOfRows(inSection: indexPath.section) { tableView? .reloadItemsAtIndexPaths([indexPath], animationStyle: .top) diff --git a/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift b/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift index 0e36683059c9738968e1eb4ffec33846d6c7526e..1e0959673ea69ec335bb603600eec0b6ef8ae79b 100644 --- a/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift +++ b/Ring/Ring/Features/Conversations/Conversation/ConversationViewModel.swift @@ -366,7 +366,7 @@ class ConversationViewModel: Stateable, ViewModel { }).disposed(by: disposeBag) } - func setMessageAsRead (daemonId: String, messageId: Int64) { + func setMessageAsRead(daemonId: String, messageId: Int64) { guard let account = self.accountService.currentAccount else { return }