From 16cb842b946d55668318c08cf2e0aed001b9f855 Mon Sep 17 00:00:00 2001 From: Max Wu Date: Sat, 10 Mar 2018 16:51:00 +0800 Subject: Improve history migration performance Signed-off-by: Max Wu --- lib/history.js | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/lib/history.js b/lib/history.js index f3d4440e..c7d2472c 100644 --- a/lib/history.js +++ b/lib/history.js @@ -31,20 +31,14 @@ function getHistory (userid, callback) { history = JSON.parse(user.history) // migrate LZString encoded note id to base64url encoded note id for (let i = 0, l = history.length; i < l; i++) { - let item = history[i] - // try to parse in base64url - let id = models.Note.decodeNoteId(item.id) - if (!id || !models.Note.checkNoteIdValid(id)) { - // try to parse in LZString if it can't be parsed in base64url - try { - id = LZString.decompressFromBase64(item.id) - } catch (err) { - id = null - } + try { + let id = LZString.decompressFromBase64(history[i].id) if (id && models.Note.checkNoteIdValid(id)) { - // replace the note id to base64url encoded note id history[i].id = models.Note.encodeNoteId(id) } + } catch (err) { + // most error here comes from LZString, ignore + logger.error(err) } } history = parseHistoryToObject(history) -- cgit v1.2.3