diff --git a/Signal/src/ViewControllers/ConversationView/CV/CVCell.swift b/Signal/src/ViewControllers/ConversationView/CV/CVCell.swift index a092bce699..946816948a 100644 --- a/Signal/src/ViewControllers/ConversationView/CV/CVCell.swift +++ b/Signal/src/ViewControllers/ConversationView/CV/CVCell.swift @@ -39,10 +39,14 @@ public class CVCell: UICollectionViewCell, CVItemCell, CVRootComponentHost { componentView?.setIsCellVisible(isCellVisible) if isCellVisible { + if let renderItem = renderItem, + let outgoingMessage = renderItem.interaction as? TSOutgoingMessage { + BenchManager.completeEvent(eventId: "sendMessageSentDidAppear-\(outgoingMessage.timestamp)") + } if let renderItem = renderItem, let outgoingMessage = renderItem.interaction as? TSOutgoingMessage, outgoingMessage.messageState != .sending { - BenchManager.completeEvent(eventId: "sendMessageSentDisplayed-\(outgoingMessage.timestamp)") + BenchManager.completeEvent(eventId: "sendMessageSentDidAppearSent-\(outgoingMessage.timestamp)") } guard let renderItem = renderItem, diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewController+CVC.swift b/Signal/src/ViewControllers/ConversationView/ConversationViewController+CVC.swift index f07ee7a429..7597a5a45c 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewController+CVC.swift +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewController+CVC.swift @@ -573,8 +573,6 @@ extension ConversationViewController: CVLoadCoordinatorDelegate { } }() - var benchEventIdsToComplete = [String]() - let batchUpdatesBlock = { AssertIsOnMainThread() @@ -583,15 +581,12 @@ extension ConversationViewController: CVLoadCoordinatorDelegate { if !DebugFlags.reduceLogChatter { Logger.verbose("\(item.logSafeDescription)") } + switch item.updateType { case .delete(let oldIndex): let indexPath = IndexPath(row: oldIndex, section: section) self.collectionView.deleteItems(at: [indexPath]) case .insert(let newIndex): - if let outgoingMessage = item.value.interaction as? TSOutgoingMessage, outgoingMessage.messageState == .sending { - benchEventIdsToComplete.append("sendMessageSending-\(outgoingMessage.timestamp)") - } - let indexPath = IndexPath(row: newIndex, section: section) self.collectionView.insertItems(at: [indexPath]) case .move(let oldIndex, let newIndex): @@ -599,10 +594,6 @@ extension ConversationViewController: CVLoadCoordinatorDelegate { let newIndexPath = IndexPath(row: newIndex, section: section) self.collectionView.moveItem(at: oldIndexPath, to: newIndexPath) case .update(let oldIndex, _): - if let outgoingMessage = item.value.interaction as? TSOutgoingMessage, outgoingMessage.messageState != .sending { - benchEventIdsToComplete.append("sendMessagePostNetwork-\(outgoingMessage.timestamp)") - benchEventIdsToComplete.append("sendMessageSent-\(outgoingMessage.timestamp)") - } let indexPath = IndexPath(row: oldIndex, section: section) self.collectionView.reloadItems(at: [indexPath]) } @@ -616,8 +607,6 @@ extension ConversationViewController: CVLoadCoordinatorDelegate { return } - BenchManager.completeEvents(eventIds: benchEventIdsToComplete) - // If the scroll action is not animated, perform it _before_ // updateViewToReflectLoad(). if !scrollAction.isAnimated { diff --git a/SignalMessaging/utils/ThreadUtil.swift b/SignalMessaging/utils/ThreadUtil.swift index 3bf35f8025..9b8559eaa1 100644 --- a/SignalMessaging/utils/ThreadUtil.swift +++ b/SignalMessaging/utils/ThreadUtil.swift @@ -39,16 +39,12 @@ public extension ThreadUtil { let message: TSOutgoingMessage = outgoingMessagePreparer.unpreparedMessage BenchManager.startEvent( - title: "Send Message Milestone: Sending (\(message.timestamp))", - eventId: "sendMessageSending-\(message.timestamp)" + title: "Send Message Milestone: Did Appear (\(message.timestamp))", + eventId: "sendMessageSentDidAppear-\(message.timestamp)" ) BenchManager.startEvent( - title: "Send Message Milestone: Sent (\(message.timestamp))", - eventId: "sendMessageSent-\(message.timestamp)" - ) - BenchManager.startEvent( - title: "Send Message Milestone: Sent Displayed (\(message.timestamp))", - eventId: "sendMessageSentDisplayed-\(message.timestamp)" + title: "Send Message Milestone: Did Appear Sent (\(message.timestamp))", + eventId: "sendMessageSentDidAppearSent-\(message.timestamp)" ) BenchManager.benchAsync(title: "Send Message Milestone: Enqueue \(message.timestamp)") { benchmarkCompletion in Self.enqueueSendAsyncWrite { writeTransaction in