cry-synced-db-client 0.1.158 → 0.1.159

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.
Files changed (2) hide show
  1. package/dist/index.js +11 -5
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3671,6 +3671,11 @@ var ServerUpdateHandler = class {
3671
3671
  async handleServerItemInsert(collection, serverItem) {
3672
3672
  const localItem = await this.dexieDb.getById(collection, serverItem._id);
3673
3673
  if (localItem) {
3674
+ const isStaleSelfEcho = serverItem._lastUpdaterId === this.updaterId && typeof serverItem._rev === "number" && typeof localItem._rev === "number" && serverItem._rev <= localItem._rev;
3675
+ if (isStaleSelfEcho) {
3676
+ await this.dexieDb.clearDirtyChange(collection, serverItem._id);
3677
+ return;
3678
+ }
3674
3679
  const dirtyChange = await this.dexieDb.getDirtyChange(collection, serverItem._id);
3675
3680
  const metaChanged = localItem._rev !== serverItem._rev || !this.timestampsEqual(localItem._ts, serverItem._ts);
3676
3681
  if (metaChanged) {
@@ -3696,12 +3701,13 @@ var ServerUpdateHandler = class {
3696
3701
  * Handle server item update (delta).
3697
3702
  */
3698
3703
  async handleServerItemUpdate(collection, localItem, serverDelta) {
3699
- const isLoopback = serverDelta._lastUpdaterId === this.updaterId && serverDelta._rev !== void 0 && localItem._rev !== void 0 && serverDelta._rev === localItem._rev + 1;
3700
- if (isLoopback) {
3701
- const metaChanged2 = localItem._rev !== serverDelta._rev || !this.timestampsEqual(localItem._ts, serverDelta._ts);
3702
- if (metaChanged2) {
3704
+ const serverRev = serverDelta._rev;
3705
+ const localRev = localItem._rev;
3706
+ const isSelfEcho = serverDelta._lastUpdaterId === this.updaterId && typeof serverRev === "number" && typeof localRev === "number" && serverRev <= localRev + 1;
3707
+ if (isSelfEcho) {
3708
+ if (serverRev > localRev) {
3703
3709
  await this.dexieDb.save(collection, serverDelta._id, {
3704
- _rev: serverDelta._rev,
3710
+ _rev: serverRev,
3705
3711
  _ts: serverDelta._ts
3706
3712
  });
3707
3713
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cry-synced-db-client",
3
- "version": "0.1.158",
3
+ "version": "0.1.159",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",