diff --git a/src/public/app/services/ws.js b/src/public/app/services/ws.js index a9c841309..9db9cfdf2 100644 --- a/src/public/app/services/ws.js +++ b/src/public/app/services/ws.js @@ -68,12 +68,13 @@ async function executeFrontendUpdate(entityChanges) { frontendUpdateDataQueue.push(...entityChanges); // we set lastAcceptedEntityChangeId even before frontend update processing and send ping so that backend can start sending more updates - lastAcceptedEntityChangeId = Math.max(lastAcceptedEntityChangeId, entityChanges[entityChanges.length - 1].id); - const lastSyncEntityChange = entityChanges.slice().reverse().find(ec => ec.isSynced); + for (const entityChange of entityChanges) { + lastAcceptedEntityChangeId = Math.max(lastAcceptedEntityChangeId, entityChange.id); - if (lastSyncEntityChange) { - lastAcceptedEntityChangeSyncId = Math.max(lastAcceptedEntityChangeSyncId, lastSyncEntityChange.id); + if (entityChange.isSynced) { + lastAcceptedEntityChangeSyncId = Math.max(lastAcceptedEntityChangeSyncId, entityChange.id); + } } sendPing();