diff --git a/src/services/notes.js b/src/services/notes.js index 4dee6eb2b..b137517e4 100644 --- a/src/services/notes.js +++ b/src/services/notes.js @@ -732,23 +732,26 @@ function eraseAttributes(attributeIdsToErase) { } function eraseDeletedEntities(eraseEntitiesAfterTimeInSeconds = null) { - if (eraseEntitiesAfterTimeInSeconds === null) { - eraseEntitiesAfterTimeInSeconds = optionService.getOptionInt('eraseEntitiesAfterTimeInSeconds'); - } + // this is important also so that the erased entity changes are sent to the connected clients + sql.transactional(() => { + if (eraseEntitiesAfterTimeInSeconds === null) { + eraseEntitiesAfterTimeInSeconds = optionService.getOptionInt('eraseEntitiesAfterTimeInSeconds'); + } - const cutoffDate = new Date(Date.now() - eraseEntitiesAfterTimeInSeconds * 1000); + const cutoffDate = new Date(Date.now() - eraseEntitiesAfterTimeInSeconds * 1000); - const noteIdsToErase = sql.getColumn("SELECT noteId FROM notes WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); + const noteIdsToErase = sql.getColumn("SELECT noteId FROM notes WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); - eraseNotes(noteIdsToErase); + eraseNotes(noteIdsToErase); - const branchIdsToErase = sql.getColumn("SELECT branchId FROM branches WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); + const branchIdsToErase = sql.getColumn("SELECT branchId FROM branches WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); - eraseBranches(branchIdsToErase); + eraseBranches(branchIdsToErase); - const attributeIdsToErase = sql.getColumn("SELECT attributeId FROM attributes WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); + const attributeIdsToErase = sql.getColumn("SELECT attributeId FROM attributes WHERE isDeleted = 1 AND utcDateModified <= ?", [dateUtils.utcDateTimeStr(cutoffDate)]); - eraseAttributes(attributeIdsToErase); + eraseAttributes(attributeIdsToErase); + }); } function eraseNotesWithDeleteId(deleteId) {