@firebase/firestore 3.4.1-canary.be7ccb8ed → 3.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ var url = require('url');
14
14
  var protoLoader = require('@grpc/proto-loader');
15
15
 
16
16
  const name = "@firebase/firestore";
17
- const version$1 = "3.4.1-canary.be7ccb8ed";
17
+ const version$1 = "3.4.2";
18
18
 
19
19
  /**
20
20
  * @license
@@ -67,7 +67,7 @@ User.GOOGLE_CREDENTIALS = new User('google-credentials-uid');
67
67
  User.FIRST_PARTY = new User('first-party-uid');
68
68
  User.MOCK_USER = new User('mock-user');
69
69
 
70
- const version = "9.6.1-canary.be7ccb8ed";
70
+ const version = "9.6.2";
71
71
 
72
72
  /**
73
73
  * @license
@@ -11940,18 +11940,20 @@ function localStoreApplyRemoteEventToLocalCache(localStore, remoteEvent) {
11940
11940
  .next(() => {
11941
11941
  return localStoreImpl.targetCache.addMatchingKeys(txn, change.addedDocuments, targetId);
11942
11942
  }));
11943
- const resumeToken = change.resumeToken;
11944
- // Update the resume token if the change includes one.
11945
- if (resumeToken.approximateByteSize() > 0) {
11946
- const newTargetData = oldTargetData
11947
- .withResumeToken(resumeToken, remoteVersion)
11948
- .withSequenceNumber(txn.currentSequenceNumber);
11949
- newTargetDataByTargetMap = newTargetDataByTargetMap.insert(targetId, newTargetData);
11950
- // Update the target data if there are target changes (or if
11951
- // sufficient time has passed since the last update).
11952
- if (shouldPersistTargetData(oldTargetData, newTargetData, change)) {
11953
- promises.push(localStoreImpl.targetCache.updateTargetData(txn, newTargetData));
11954
- }
11943
+ let newTargetData = oldTargetData.withSequenceNumber(txn.currentSequenceNumber);
11944
+ if (remoteEvent.targetMismatches.has(targetId)) {
11945
+ newTargetData = newTargetData
11946
+ .withResumeToken(ByteString.EMPTY_BYTE_STRING, SnapshotVersion.min())
11947
+ .withLastLimboFreeSnapshotVersion(SnapshotVersion.min());
11948
+ }
11949
+ else if (change.resumeToken.approximateByteSize() > 0) {
11950
+ newTargetData = newTargetData.withResumeToken(change.resumeToken, remoteVersion);
11951
+ }
11952
+ newTargetDataByTargetMap = newTargetDataByTargetMap.insert(targetId, newTargetData);
11953
+ // Update the target data if there are target changes (or if
11954
+ // sufficient time has passed since the last update).
11955
+ if (shouldPersistTargetData(oldTargetData, newTargetData, change)) {
11956
+ promises.push(localStoreImpl.targetCache.updateTargetData(txn, newTargetData));
11955
11957
  }
11956
11958
  });
11957
11959
  let changedDocs = mutableDocumentMap();
@@ -12051,7 +12053,6 @@ documentVersions) {
12051
12053
  * too frequent.
12052
12054
  */
12053
12055
  function shouldPersistTargetData(oldTargetData, newTargetData, change) {
12054
- hardAssert(newTargetData.resumeToken.approximateByteSize() > 0);
12055
12056
  // Always persist target data if we don't already have a resume token.
12056
12057
  if (oldTargetData.resumeToken.approximateByteSize() === 0) {
12057
12058
  return true;