Bug fixes and encryption handling
This commit is contained in:
parent
ca0b649ff6
commit
342ac95282
@ -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 = response.data.title
|
||||
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)
|
||||
// }
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user