From a2f461589534c0e32c0d2ea1152a2c7a90dc47a0 Mon Sep 17 00:00:00 2001 From: Diogo Date: Thu, 7 Nov 2024 22:36:09 +0000 Subject: [PATCH] fix unread bellow and stop fetching on chat open scroll --- apps/ios/Shared/Views/Chat/ChatView.swift | 5 ++++- apps/ios/Shared/Views/Chat/ReverseList.swift | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/ChatView.swift b/apps/ios/Shared/Views/Chat/ChatView.swift index ec7c30f0fd..8a8906d648 100644 --- a/apps/ios/Shared/Views/Chat/ChatView.swift +++ b/apps/ios/Shared/Views/Chat/ChatView.swift @@ -524,7 +524,7 @@ struct ChatView: View { -1 } - let unreadBelow = + var unreadBelow = if bottomItemIndex != -1 { im.reversedChatItems[.. 0, let g = im.gap, g.size > 0, g.index < bottomItemIndex { + unreadBelow += g.size + } let date: Date? = if let topItemDate = listState.topItemDate { Calendar.current.startOfDay(for: topItemDate) diff --git a/apps/ios/Shared/Views/Chat/ReverseList.swift b/apps/ios/Shared/Views/Chat/ReverseList.swift index 130dec35b4..4ea7bc7ef6 100644 --- a/apps/ios/Shared/Views/Chat/ReverseList.swift +++ b/apps/ios/Shared/Views/Chat/ReverseList.swift @@ -82,13 +82,12 @@ struct ReverseList: UIViewControllerRepresentable { self.dataSource = UITableViewDiffableDataSource( tableView: tableView ) { (tableView, indexPath, item) -> UITableViewCell? in - if self.representer.scrollState == .atDestination { + if self.representer.scrollState == .atDestination, self.representer.initialChatItem == nil { if indexPath.item > self.itemCount - preloadItem, let item = self.getItemAtPath(indexPath: IndexPath(row: self.itemCount - 1, section: 0)) { self.representer.loadPage(.before(chatItemId: item.id, count: loadItemsPerPage)) } else if let item = self.getFirstItemBeforePlacholder(indexPath) { // TODO: Cleanup, this should never be possible } else if let item = self.getFirstItemAfterPlacholder(indexPath) { - logger.error("[scrolling] needs items in bottom \(item.text)") self.representer.loadPage(.after(chatItemId: item.id, count: loadItemsPerPage)) } }