diff --git a/lib/note/index.js b/lib/note/index.js index 0a20238e..7f215149 100644 --- a/lib/note/index.js +++ b/lib/note/index.js @@ -268,7 +268,7 @@ const deleteNote = async (req, res) => { } const updateNote = async (req, res) => { - if (req.isAuthenticated()) { + if (req.isAuthenticated() || config.allowAnonymousEdits) { const noteId = await Note.parseNoteIdAsync(req.params.noteId) try { const note = await Note.findOne({ @@ -294,7 +294,7 @@ const updateNote = async (req, res) => { lastchangeAt: now, authorship: [ [ - req.user.id, + req.isAuthenticated() ? req.user.id : null, 0, content.length, now, @@ -308,7 +308,9 @@ const updateNote = async (req, res) => { return errorInternalError(req, res) } - updateHistory(req.user.id, note.id, content) + if (req.isAuthenticated()) { + updateHistory(req.user.id, note.id, content) + } Revision.saveNoteRevision(note, (err, revision) => { if (err) { @@ -321,7 +323,7 @@ const updateNote = async (req, res) => { }) }) } catch (err) { - logger.error(err) + logger.error(err.stack) logger.error('Update note failed: Internal Error.') return errorInternalError(req, res) }