From f740e52ebf61db33dc3a5668ae31419251b66b53 Mon Sep 17 00:00:00 2001 From: zadam Date: Mon, 2 Dec 2019 20:21:52 +0100 Subject: [PATCH] correctly respect label @disableVersioning (cherry picked from commit dc063983ea736f338e1d01d0863ee6f5ae40b2ee) --- src/services/image.js | 2 -- src/services/note_revisions.js | 8 ++++---- src/services/notes.js | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/services/image.js b/src/services/image.js index 34cdb6ec7..55db82f86 100644 --- a/src/services/image.js +++ b/src/services/image.js @@ -12,9 +12,7 @@ const imageminGifLossy = require('imagemin-giflossy'); const jimp = require('jimp'); const imageType = require('image-type'); const sanitizeFilename = require('sanitize-filename'); -const dateUtils = require('./date_utils'); const noteRevisionService = require('./note_revisions.js'); -const NoteRevision = require("../entities/note_revision"); async function processImage(uploadBuffer, originalName, shrinkImageSwitch) { const origImageFormat = imageType(uploadBuffer); diff --git a/src/services/note_revisions.js b/src/services/note_revisions.js index 02a567b47..c2f607bb1 100644 --- a/src/services/note_revisions.js +++ b/src/services/note_revisions.js @@ -7,10 +7,6 @@ const dateUtils = require('../services/date_utils'); * @param {Note} note */ async function protectNoteRevisions(note) { - if (await note.hasLabel('disableVersioning')) { - return; - } - for (const revision of await note.getRevisions()) { if (note.isProtected !== revision.isProtected) { const content = await revision.getContent(); @@ -30,6 +26,10 @@ async function protectNoteRevisions(note) { * @return {NoteRevision} */ async function createNoteRevision(note) { + if (await note.hasLabel("disableVersioning")) { + return; + } + const noteRevision = await new NoteRevision({ noteId: note.noteId, // title and text should be decrypted now diff --git a/src/services/notes.js b/src/services/notes.js index 344a60f62..c10a070b3 100644 --- a/src/services/notes.js +++ b/src/services/notes.js @@ -308,8 +308,7 @@ async function saveLinks(note, content) { } async function saveNoteRevision(note) { - // files and images are immutable, they can't be updated - // but we don't even version titles which is probably not correct + // files and images are versioned separately if (note.type === 'file' || note.type === 'image' || await note.hasLabel('disableVersioning')) { return; }