lib/api-syncRecords.js
function removePendingChanges(clientRecords, localDatasetClient, pendingChanges) {
  _.each(pendingChanges, function(pendingChange, uid) {
    if (clientRecords[uid]) {
      delete clientRecords[uid];
    }
    if (localDatasetClient[uid]) {
      delete localDatasetClient[uid];
    }
  });
}
function removePendingChanges(clientRecords, localDatasetClient, pendingChanges) {
  _.each(pendingChanges, function(pendingChange, uid) {
    if (clientRecords[uid]) {
      delete clientRecords[uid];
    }
    if (localDatasetClient[uid]) {
      delete localDatasetClient[uid];
    }
  });
}
We have some pending changes sent in by the client and waiting in the queue. They are not processed yet so the backend or our localDataset don't have those changes.
We don't know if those changes will be applied or not. But they are already applied on the client which means if we compute the delta as it is, those changes will be reverted.
To avoid that, we will remove those changes from both the client and the localDataset so that the client will keep them for now.
@param {any} clientRecordds
@param {any} localDatasetClient
@param {any} pendingChanges