sync fixes and refactorings

This commit is contained in:
zadam 2023-07-29 23:35:08 +02:00
parent e8b52f9e6c
commit 12014b9f4d
2 changed files with 17 additions and 11 deletions

View File

@ -12,7 +12,7 @@ let maxEntityChangeId = 0;
function putEntityChangeWithInstanceId(origEntityChange, instanceId) {
const ec = {...origEntityChange, instanceId};
return putEntityChange(ec);
putEntityChange(ec);
}
function putEntityChange(origEntityChange) {
@ -56,7 +56,11 @@ function putNoteReorderingEntityChange(parentNoteId, componentId) {
}
function putEntityChangeForOtherInstances(ec) {
putEntityChangeWithInstanceId(ec, null);
putEntityChange({
...ec,
changeId: null,
instanceId: null
});
}
function addEntityChangesForSector(entityName, sector) {

View File

@ -146,17 +146,19 @@ async function pullChanges(syncContext) {
sql.transactional(() => {
for (const {entityChange, entity} of entityChanges) {
const changeAppliedAlready = entityChange.changeId
&& !!sql.getValue("SELECT id FROM entity_changes WHERE changeId = ?", [entityChange.changeId]);
&& !!sql.getValue("SELECT 1 FROM entity_changes WHERE changeId = ?", [entityChange.changeId]);
if (!changeAppliedAlready) {
if (!atLeastOnePullApplied) { // send only for first
ws.syncPullInProgress();
atLeastOnePullApplied = true;
}
syncUpdateService.updateEntity(entityChange, entity, syncContext.instanceId);
if (changeAppliedAlready) {
continue;
}
if (!atLeastOnePullApplied) { // send only for first
ws.syncPullInProgress();
atLeastOnePullApplied = true;
}
syncUpdateService.updateEntity(entityChange, entity, syncContext.instanceId);
}
if (lastSyncedPull !== lastEntityChangeId) {