From e78bef4faf5b6612bad0ffe379aca08ee5976250 Mon Sep 17 00:00:00 2001 From: Morten Bek Ditlevsen Date: Tue, 5 Dec 2023 12:06:12 +0100 Subject: [PATCH] An attempt at fixing #12168 by only returning the cached data at the child path rather than at the parent --- FirebaseDatabase/Sources/Core/FSyncTree.m | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/FirebaseDatabase/Sources/Core/FSyncTree.m b/FirebaseDatabase/Sources/Core/FSyncTree.m index 07cf0363367..3f80b35b8c6 100644 --- a/FirebaseDatabase/Sources/Core/FSyncTree.m +++ b/FirebaseDatabase/Sources/Core/FSyncTree.m @@ -737,11 +737,12 @@ - (FIndexedNode *)persistenceServerCache:(FQuerySpec *)querySpec { - (id)getServerValue:(FQuerySpec *)query { __block id serverCacheNode = nil; __block FSyncPoint *targetSyncPoint = nil; + __block FPath *relativePath = nil; [self.syncPointTree forEachOnPath:query.path whileBlock:^BOOL(FPath *pathToSyncPoint, FSyncPoint *syncPoint) { - FPath *relativePath = [FPath relativePathFrom:pathToSyncPoint - to:query.path]; + relativePath = [FPath relativePathFrom:pathToSyncPoint + to:query.path]; serverCacheNode = [syncPoint completeEventCacheAtPath:relativePath]; targetSyncPoint = syncPoint; @@ -772,7 +773,7 @@ - (FIndexedNode *)persistenceServerCache:(FQuerySpec *)querySpec { getView:query writesCache:[_pendingWriteTree childWritesForPath:[query path]] serverCache:serverCache]; - return [view completeEventCache]; + return [view completeEventCacheFor: relativePath]; } /**