From baef28232032c2cd4979df5a4ba9a75f476237a2 Mon Sep 17 00:00:00 2001 From: Avently <7953703+avently@users.noreply.github.com> Date: Fri, 17 Jan 2025 14:24:32 -0800 Subject: [PATCH] optimization --- apps/ios/Shared/Views/Chat/ReverseList.swift | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/ReverseList.swift b/apps/ios/Shared/Views/Chat/ReverseList.swift index 2befab8634..a81331e18e 100644 --- a/apps/ios/Shared/Views/Chat/ReverseList.swift +++ b/apps/ios/Shared/Views/Chat/ReverseList.swift @@ -78,15 +78,19 @@ struct ReverseList: UIViewControllerRepresentable { } } else { controller.runBlockOnEndDecelerating = nil - Task { - let prevSnapshot = controller.dataSource.snapshot() - if mergedItems.items == prevSnapshot.itemIdentifiers { - logger.debug("LALAL SAME ITEMS, not rebuilding the tableview") - // update counters because they are static, unbound to specific chat and will become outdated if a new empty chat was open after non-empty one with unread messages - controller.updateFloatingButtons.send() - return - } + let prevSnapshot = controller.dataSource.snapshot() + if prevSnapshot.numberOfItems == 0 { controller.update(mergedItems.items, mergedItems.snapshot, prevSnapshot) + } else { + Task { + if mergedItems.items == prevSnapshot.itemIdentifiers { + logger.debug("LALAL SAME ITEMS, not rebuilding the tableview") + // update counters because they are static, unbound to specific chat and will become outdated if a new empty chat was open after non-empty one with unread messages + controller.updateFloatingButtons.send() + return + } + controller.update(mergedItems.items, mergedItems.snapshot, prevSnapshot) + } } } }