From 0152e4147be482a8f502c67079723ec93b0012c8 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Tue, 29 Aug 2023 09:20:14 +0300 Subject: [PATCH] Fix computing the time it takes to render the first rooms --- .../Sources/Screens/HomeScreen/HomeScreenViewModel.swift | 6 ++++++ ElementX/Sources/Services/Client/ClientProxy.swift | 2 -- .../Services/Room/RoomSummary/RoomSummaryProvider.swift | 2 -- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ElementX/Sources/Screens/HomeScreen/HomeScreenViewModel.swift b/ElementX/Sources/Screens/HomeScreen/HomeScreenViewModel.swift index 50d5e0874..04f9712bc 100644 --- a/ElementX/Sources/Screens/HomeScreen/HomeScreenViewModel.swift +++ b/ElementX/Sources/Screens/HomeScreen/HomeScreenViewModel.swift @@ -138,6 +138,8 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol return } + ServiceLocator.shared.analytics.signpost.beginFirstRooms() + // Combine together the state and the room list to correctly compute the view state if // data is present in the room list "cold cache" Publishers.CombineLatest(roomSummaryProvider.statePublisher, @@ -162,6 +164,10 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol return } + if roomListMode == .rooms, self.state.roomListMode == .skeletons { + ServiceLocator.shared.analytics.signpost.endFirstRooms() + } + self.state.roomListMode = roomListMode MXLog.info("Received room summary provider update, setting view room list mode to \"\(self.state.roomListMode)\"") diff --git a/ElementX/Sources/Services/Client/ClientProxy.swift b/ElementX/Sources/Services/Client/ClientProxy.swift index 2623b0da3..7363d300f 100644 --- a/ElementX/Sources/Services/Client/ClientProxy.swift +++ b/ElementX/Sources/Services/Client/ClientProxy.swift @@ -399,8 +399,6 @@ class ClientProxy: ClientProxyProtocol { appIdentifier: "MainApp") .finish() let roomListService = syncService.roomListService() - - ServiceLocator.shared.analytics.signpost.beginFirstRooms() let eventStringBuilder = RoomEventStringBuilder(stateEventStringBuilder: RoomStateEventStringBuilder(userID: userID)) roomSummaryProvider = RoomSummaryProvider(roomListService: roomListService, diff --git a/ElementX/Sources/Services/Room/RoomSummary/RoomSummaryProvider.swift b/ElementX/Sources/Services/Room/RoomSummary/RoomSummaryProvider.swift index 84f15ef16..41253253d 100644 --- a/ElementX/Sources/Services/Room/RoomSummary/RoomSummaryProvider.swift +++ b/ElementX/Sources/Services/Room/RoomSummary/RoomSummaryProvider.swift @@ -166,8 +166,6 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol { MXLog.verbose("\(name): Finished applying \(diffs.count) diffs, new room list \(rooms.compactMap { $0.id ?? "Empty" })") - ServiceLocator.shared.analytics.signpost.endFirstRooms() - MXLog.info("Finished processing room list diffs") }