فهرست منبع

Поправки багов

Book Pauk 6 سال پیش
والد
کامیت
c29ffc3fcd
1فایلهای تغییر یافته به همراه5 افزوده شده و 2 حذف شده
  1. 5 2
      client/components/Reader/ServerStorage/ServerStorage.vue

+ 5 - 2
client/components/Reader/ServerStorage/ServerStorage.vue

@@ -412,9 +412,11 @@ class ServerStorage extends Vue {
                 if (recentLastDiff.rev == 0)
                     recentLastDiff.data = {};
 
+                this.oldRecentLastDiff = _.cloneDeep(recentLastDiff.data);
+                this.oldRecentLast = _.cloneDeep(recentLast.data);
+
                 recentLast.data = utils.applyObjDiff(recentLast.data, recentLastDiff.data);
 
-                this.oldRecentLast = _.cloneDeep(recentLast.data);
                 await bookManager.setRecentLast(recentLast.data);
                 await bookManager.setRecentLastRev(recentLast.rev);
                 await bookManager.setRecentLastDiffRev(recentLastDiff.rev);
@@ -485,7 +487,7 @@ class ServerStorage extends Vue {
         if (utils.isEmptyObjDiff(diff))
             return;
 
-        if (JSON.stringify(recentLast) > JSON.stringify(diff)) {
+        if (this.oldRecentLast.key == recentLast.key && JSON.stringify(recentLast) > JSON.stringify(diff)) {
             await this.saveRecentLastDiff(diff, force);
             return;
         }
@@ -529,6 +531,7 @@ class ServerStorage extends Vue {
             } else {
                 this.oldRecentLast = _.cloneDeep(recentLast);
                 await bm.setRecentLastRev(lastRev + 1);
+                await this.saveRecentLastDiff({}, true);
             }
         } finally {
             this.savingRecentLast = false;