Compare commits

...

4 Commits

Author SHA1 Message Date
Book Pauk
552da48a32 Merge branch 'release/0.7.1b' 2019-09-20 22:17:58 +07:00
Book Pauk
db8a688620 Манипуляции с appcache 2019-09-20 22:17:28 +07:00
Book Pauk
3088028d05 Поправки багов 2019-09-20 21:45:29 +07:00
Book Pauk
fd62ef865d Merge tag '0.7.1a' into develop
0.7.1a
2019-09-20 20:37:33 +07:00
2 changed files with 22 additions and 22 deletions

View File

@@ -55,6 +55,6 @@ module.exports = merge(baseWpConfig, {
filename: `${publicDir}/index.html` filename: `${publicDir}/index.html`
}), }),
new CopyWebpackPlugin([{from: `${clientDir}/assets/*`, to: `${publicDir}/`, flatten: true}]), new CopyWebpackPlugin([{from: `${clientDir}/assets/*`, to: `${publicDir}/`, flatten: true}]),
//new AppCachePlugin({}) new AppCachePlugin({exclude: ['../index.html']})
] ]
}); });

View File

@@ -361,7 +361,7 @@ class ServerStorage extends Vue {
} }
} }
async loadRecent(doNotifySuccess = true) { async loadRecent(skipRevCheck = false, doNotifySuccess = true) {
if (!this.keyInited || !this.serverSyncEnabled) if (!this.keyInited || !this.serverSyncEnabled)
return; return;
@@ -369,27 +369,24 @@ class ServerStorage extends Vue {
const oldRecentDeltaRev = bookManager.recentDeltaRev; const oldRecentDeltaRev = bookManager.recentDeltaRev;
//проверим ревизию на сервере //проверим ревизию на сервере
let revs = null; let revs = null;
try { if (!skipRevCheck) {
revs = await this.storageCheck({recent: {}, recentDelta: {}}); try {
if (revs.state == 'success' && revs.items.recent.rev == oldRecentRev && revs = await this.storageCheck({recent: {}, recentDelta: {}});
revs.items.recentDelta.rev == oldRecentDeltaRev) { if (revs.state == 'success' && revs.items.recent.rev == oldRecentRev &&
if (!this.recentDeltaInited) revs.items.recentDelta.rev == oldRecentDeltaRev) {
await this.initRecentDelta(); if (!this.recentDeltaInited)
await this.initRecentDelta();
return;
}
} catch(e) {
this.error(`Ошибка соединения с сервером: ${e.message}`);
return; return;
} }
} catch(e) {
this.error(`Ошибка соединения с сервером: ${e.message}`);
return;
} }
let recent = null; let recent = null;
try { try {
if (revs.items.recent.rev != oldRecentRev) { recent = await this.storageGet({recent: {}, recentDelta: {}});
recent = await this.storageGet({recent: {}, recentDelta: {}});
} else {
recent = await this.storageGet({recentDelta: {}});
recent.items.recent = {data: _.cloneDeep(bookManager.recent), rev: oldRecentRev};
}
} catch(e) { } catch(e) {
this.error(`Ошибка соединения с сервером: ${e.message}`); this.error(`Ошибка соединения с сервером: ${e.message}`);
return; return;
@@ -458,7 +455,7 @@ class ServerStorage extends Vue {
this.prevItemKey = itemKey; this.prevItemKey = itemKey;
//дифф от дельты для уменьшения размера передаваемых данных в частном случае //дифф от дельты для уменьшения размера передаваемых данных в частном случае
/*if (this.makeDeltaDiff) { if (this.makeDeltaDiff) {
this.recentDelta.diff = utils.getObjDiff(this.prevSavedItem, bm.recent[itemKey]); this.recentDelta.diff = utils.getObjDiff(this.prevSavedItem, bm.recent[itemKey]);
this.recentDelta.diff.key = itemKey; this.recentDelta.diff.key = itemKey;
delete this.recentDelta[itemKey]; delete this.recentDelta[itemKey];
@@ -470,8 +467,7 @@ class ServerStorage extends Vue {
this.recentDelta[key] = utils.applyObjDiff(this.prevSavedItem, this.recentDelta.diff); this.recentDelta[key] = utils.applyObjDiff(this.prevSavedItem, this.recentDelta.diff);
} }
delete this.recentDelta.diff; delete this.recentDelta.diff;
}*/ }
delete this.recentDelta.diff;
//сохранение //сохранение
this.savingRecent = true; this.savingRecent = true;
@@ -486,7 +482,9 @@ delete this.recentDelta.diff;
} }
if (result.state == 'reject') { if (result.state == 'reject') {
await this.loadRecent(false);
await this.loadRecent(true, false);
this.warning(`Последние изменения отменены. Данные синхронизированы с сервером.`); this.warning(`Последние изменения отменены. Данные синхронизированы с сервером.`);
if (!recurse) { if (!recurse) {
this.savingRecent = false; this.savingRecent = false;
@@ -512,7 +510,9 @@ delete this.recentDelta.diff;
} }
if (result.state == 'reject') { if (result.state == 'reject') {
await this.loadRecent(false);
await this.loadRecent(true, false);
this.warning(`Последние изменения отменены. Данные синхронизированы с сервером.`); this.warning(`Последние изменения отменены. Данные синхронизированы с сервером.`);
if (!recurse) { if (!recurse) {
this.savingRecent = false; this.savingRecent = false;