Bug fixes and encryption handling

This commit is contained in:
Max G 2020-03-14 06:04:03 +00:00
parent ca0b649ff6
commit 342ac95282
4 changed files with 31 additions and 15 deletions

View File

@ -59,7 +59,7 @@
<h3 class="ui center aligned icon header">
<i class="green lock alternate icon"></i>
<span v-if="!lockedOut" :data-tooltip="`Unlock Attempts: ${decryptAttempts}`">
<span v-if="!lockedOut">
This note is encrypted and requires a password to be opened.
</span>
@ -860,7 +860,10 @@
this.created = response.data.created
this.updated = response.data.updated
this.noteTitle = ''
if(response.data.title){
this.noteTitle = response.data.title
}
this.noteText = response.data.text
this.diffNoteText = response.data.text
@ -911,6 +914,8 @@
},
diffText(){
return
// dont emit to one user
if(this.usersOnNote <= 1){
return
@ -959,7 +964,7 @@
},
patchText(patch_text){
console.log(patch_text)
return
//
// Capture x,y of caret and position into string
@ -967,10 +972,10 @@
let currentSelection = this.editor.getSelection()
let lineText = currentSelection.startContainer.textContent
console.log(lineText)
// console.log(lineText)
let cursorOffset = parseInt(currentSelection.startOffset) //number of characters in
let path = this.xpath(currentSelection.commonAncestorContainer.parentElement)
console.log(path)
// console.log(path)
//
@ -979,21 +984,21 @@
let currentText = this.editor._getHTML()
const startingLines = (currentText.match(/<br>/g) || '').length + 1
console.log('1')
// console.log('1')
const dmp = new DiffMatchPatch.diff_match_patch()
var patches = dmp.patch_fromText(patch_text);
var results = dmp.patch_apply(patches, currentText);
let newText = results[0]
console.log('2')
// console.log('2')
this.noteText = newText
this.diffNoteText = newText
console.log('3')
// console.log('3')
// this.editor._setHTML(newText)
this.editor.setHTML(newText)
console.log('4')
// console.log('4')
//
// I user hasn't selected the document, we are done here
@ -1041,14 +1046,14 @@
}
}
console.log('Targeting Node')
console.log(node)
// console.log('Targeting Node')
// console.log(node)
//Create and set range
let squireRange = this.editor.createRange(node, cursorOffset)
squireRange.collapse(true)
this.editor.setSelection(squireRange)
console.log('cursor set')
// console.log('cursor set')
}, 20)
// }

View File

@ -59,6 +59,7 @@
<h2 v-if="fastFilters['withTags'] == 1">Notes with Tags</h2>
<h2 v-if="fastFilters['onlyArchived'] == 1">Archived Notes</h2>
<h2 v-if="fastFilters['onlyShowSharedNotes'] == 1">Shared Notes</h2>
<h2 v-if="fastFilters['onlyShowEncrypted'] == 1">Password Protected Notes</h2>
<!-- tags section -->
<div v-if="commonTags.length > 0" class="sixteen wide column">
@ -184,7 +185,8 @@
'shared': ['envelope outline', 'Received Notes'],
'sent': ['paper plane outline', 'Shared Notes'],
'notes': ['file','Notes'],
'highlights': ['paragraph', 'Found In Text']
'highlights': ['paragraph', 'Found In Text'],
'locked': ['lock', 'Password Protected']
},
noteSections: {
pinned: [],
@ -193,6 +195,7 @@
sent:[],
notes: [],
highlights: [],
locked: []
},
}
@ -599,6 +602,10 @@
this.noteSections.sent.push(note)
return
}
if(note.encrypted == 1 && this.fastFilters.onlyShowEncrypted == 1){
this.noteSections.locked.push(note)
return
}
if(note.note_highlights.length > 0){
this.noteSections.highlights.push(note)
return

View File

@ -436,7 +436,6 @@ Note.get = (userId, noteId, password = '') => {
//To many attempts in less than 5 minutes, note is locked
if(noteData.decrypt_attempts_count > 3 && timeSinceLastUnlock < 300){
console.log('Locked Out')
noteLockedOut = true
}
@ -444,7 +443,6 @@ Note.get = (userId, noteId, password = '') => {
if(noteData.decrypt_attempts_count > 0 && timeSinceLastUnlock > 300){
noteLockedOut = false
noteData.decrypt_attempts_count = 0
console.log('Resseting Lockout')
db.promise().query('UPDATE note_raw_text SET last_decrypted_date = ?, decrypt_attempts_count = 0 WHERE id = ?', [nowTime, rawTextId ])
}
}
@ -628,8 +626,10 @@ Note.search = (userId, searchQuery, searchTags, fastFilters) => {
searchAllNotes = true
}
//Encrypted Note
if(fastFilters.onlyShowEncrypted == 1){
noteSearchQuery += ' AND encrypted = 1'
searchAllNotes = true
}
//If tags are passed, use those tags in search

View File

@ -23,6 +23,10 @@ Tag.userTags = (userId, searchQuery, searchTags, fastFilters) => {
query += ' AND note.share_user_id IS NULL'
}
if(fastFilters && fastFilters.onlyShowEncrypted == 1){
query += ' AND note.encrypted = 1' //Show Archived
}
//Show archived notes, only if fast filter is set, default to not archived
if(fastFilters && fastFilters.onlyArchived == 1){
query += ' AND note.archived = 1' //Show Archived