when reloading tree after sync, decrypt tree items if in encryption context

This commit is contained in:
azivner 2017-11-03 21:20:06 -04:00
parent cf45594d89
commit bd71547258
2 changed files with 36 additions and 27 deletions

View File

@ -72,6 +72,22 @@ function computeScrypt(password, salt, callback) {
});
}
function decryptTreeItems() {
if (!isEncryptionAvailable()) {
return;
}
for (const noteId of globalAllNoteIds) {
const note = getNodeByKey(noteId);
if (note.data.encryption > 0) {
const title = decryptString(note.data.note_title);
note.setTitle(title);
}
}
}
$("#encryption-password-form").submit(() => {
const password = $("#encryption-password").val();
$("#encryption-password").val("");
@ -81,15 +97,7 @@ $("#encryption-password-form").submit(() => {
globalDataKey = key;
for (const noteId of globalAllNoteIds) {
const note = getNodeByKey(noteId);
if (note.data.encryption > 0) {
const title = decryptString(note.data.note_title);
note.setTitle(title);
}
}
decryptTreeItems();
if (globalEncryptionDeferred !== null) {
globalEncryptionDeferred.resolve();
@ -97,11 +105,11 @@ $("#encryption-password-form").submit(() => {
globalEncryptionDeferred = null;
}
})
.catch(reason => {
console.log(reason);
.catch(reason => {
console.log(reason);
alert(reason);
});
alert(reason);
});
return false;
});

View File

@ -1,5 +1,5 @@
function checkStatus() {
$.ajax({
async function checkStatus() {
const resp = await $.ajax({
url: baseApiUrl + 'status',
type: 'POST',
contentType: "application/json",
@ -8,18 +8,6 @@ function checkStatus() {
currentNoteId: globalCurrentNote ? globalCurrentNote.detail.note_id : null,
currentNoteDateModified: globalCurrentNoteLoadTime
}),
success: resp => {
if (resp.changedTree) {
loadTree().then(resp => {
console.log("Reloading tree because of background changes");
// this will also reload the note content
globalTree.fancytree('getTree').reload(resp.notes);
});
}
$("#changesToPushCount").html(resp.changesToPushCount);
},
statusCode: {
401: () => {
// if the user got logged out then we should display the page
@ -32,6 +20,19 @@ function checkStatus() {
}
}
});
if (resp.changedTree) {
const treeResp = await loadTree();
console.log("Reloading tree because of background changes");
// this will also reload the note content
await globalTree.fancytree('getTree').reload(treeResp.notes);
decryptTreeItems();
}
$("#changesToPushCount").html(resp.changesToPushCount);
}
setInterval(checkStatus, 5 * 1000);