From 58da19c42b56d5e1bce9ea2334dfb6f2188dfe75 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Mon, 31 Jul 2023 13:35:30 +0300 Subject: [PATCH] Enable all room summary provider logs to track down duplicated room list item problems --- .../RoomScreen/RoomScreenViewModel.swift | 2 +- .../RoomSummary/RoomSummaryProvider.swift | 26 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ElementX/Sources/Screens/RoomScreen/RoomScreenViewModel.swift b/ElementX/Sources/Screens/RoomScreen/RoomScreenViewModel.swift index eab2c7fdd..ef7bf6131 100644 --- a/ElementX/Sources/Screens/RoomScreen/RoomScreenViewModel.swift +++ b/ElementX/Sources/Screens/RoomScreen/RoomScreenViewModel.swift @@ -299,7 +299,7 @@ class RoomScreenViewModel: RoomScreenViewModelType, RoomScreenViewModelProtocol } } - // The SwiftUI scroll view needs special handling, see `selectivellyUpdateTimelineItems` + // The SwiftUI scroll view needs special handling, see `selectivelyUpdateTimelineItems` if state.swiftUITimelineEnabled { selectivelyUpdateTimelineItems(timelineItemsDictionary: timelineItemsDictionary) } else { diff --git a/ElementX/Sources/Services/Room/RoomSummary/RoomSummaryProvider.swift b/ElementX/Sources/Services/Room/RoomSummary/RoomSummaryProvider.swift index abade3174..8c2c71836 100644 --- a/ElementX/Sources/Services/Room/RoomSummary/RoomSummaryProvider.swift +++ b/ElementX/Sources/Services/Room/RoomSummary/RoomSummaryProvider.swift @@ -75,7 +75,7 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol { do { let listUpdatesSubscriptionResult = try roomList.entries(listener: RoomListEntriesListenerProxy { [weak self] updates in guard let self else { return } - MXLog.verbose("\(name): Received list update") + MXLog.info("\(name): Received list update") diffsPublisher.send(updates) }) @@ -119,7 +119,7 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol { span.exit() } - MXLog.verbose("\(name): Received \(diffs.count) diffs, current room list \(rooms.compactMap { $0.id ?? "Empty" })") + MXLog.info("\(name): Received \(diffs.count) diffs, current room list \(rooms.compactMap { $0.id ?? "Empty" })") rooms = diffs .reduce(rooms) { currentItems, diff in @@ -138,7 +138,7 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol { detectDuplicatesInRoomList(rooms) - MXLog.verbose("\(name): Finished applying \(diffs.count) diffs, new room list \(rooms.compactMap { $0.id ?? "Empty" })") + MXLog.info("\(name): Finished applying \(diffs.count) diffs, new room list \(rooms.compactMap { $0.id ?? "Empty" })") } private func fetchLastMessage(roomListItem: RoomListItemProtocol) -> EventTimelineItem? { @@ -212,36 +212,36 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol { switch diff { case .pushFront(let value): - MXLog.verbose("\(name): Push Front \(value.debugIdentifier)") + MXLog.info("\(name): Push Front \(value.debugIdentifier)") let summary = buildSummaryForRoomListEntry(value) changes.append(.insert(offset: 0, element: summary, associatedWith: nil)) case .pushBack(let value): - MXLog.verbose("\(name): Push Back \(value.debugIdentifier)") + MXLog.info("\(name): Push Back \(value.debugIdentifier)") let summary = buildSummaryForRoomListEntry(value) changes.append(.insert(offset: rooms.count, element: summary, associatedWith: nil)) case .append(values: let values): let debugIdentifiers = values.map(\.debugIdentifier) - MXLog.verbose("\(name): Append \(debugIdentifiers)") + MXLog.info("\(name): Append \(debugIdentifiers)") for (index, value) in values.enumerated() { let summary = buildSummaryForRoomListEntry(value) changes.append(.insert(offset: rooms.count + index, element: summary, associatedWith: nil)) } case .set(let index, let value): - MXLog.verbose("\(name): Update \(value.debugIdentifier) at \(index)") + MXLog.info("\(name): Update \(value.debugIdentifier) at \(index)") let summary = buildSummaryForRoomListEntry(value) changes.append(.remove(offset: Int(index), element: summary, associatedWith: nil)) changes.append(.insert(offset: Int(index), element: summary, associatedWith: nil)) case .insert(let index, let value): - MXLog.verbose("\(name): Insert at \(value.debugIdentifier) at \(index)") + MXLog.info("\(name): Insert at \(value.debugIdentifier) at \(index)") let summary = buildSummaryForRoomListEntry(value) changes.append(.insert(offset: Int(index), element: summary, associatedWith: nil)) case .remove(let index): let summary = rooms[Int(index)] - MXLog.verbose("\(name): Remove \(summary.id ?? "") from \(index)") + MXLog.info("\(name): Remove \(summary.id ?? "") from \(index)") changes.append(.remove(offset: Int(index), element: summary, associatedWith: nil)) case .reset(let values): let debugIdentifiers = values.map(\.debugIdentifier) - MXLog.verbose("\(name): Replace all items with \(debugIdentifiers)") + MXLog.info("\(name): Replace all items with \(debugIdentifiers)") for (index, summary) in rooms.enumerated() { changes.append(.remove(offset: index, element: summary, associatedWith: nil)) } @@ -250,16 +250,16 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol { changes.append(.insert(offset: index, element: buildSummaryForRoomListEntry(value), associatedWith: nil)) } case .clear: - MXLog.verbose("\(name): Clear all items") + MXLog.info("\(name): Clear all items") for (index, value) in rooms.enumerated() { changes.append(.remove(offset: index, element: value, associatedWith: nil)) } case .popFront: - MXLog.verbose("\(name): Pop Front") + MXLog.info("\(name): Pop Front") let summary = rooms[0] changes.append(.remove(offset: 0, element: summary, associatedWith: nil)) case .popBack: - MXLog.verbose("\(name): Pop Back") + MXLog.info("\(name): Pop Back") guard let value = rooms.last else { fatalError() }