mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
fix note cache for out of order synced entities
This commit is contained in:
parent
355780c595
commit
4cd1a0ee7d
1
db/migrations/0167__remove_activateParentNote.sql
Normal file
1
db/migrations/0167__remove_activateParentNote.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
DELETE FROM options WHERE name = 'keyboardShortcutsActivateParentNote';
|
@ -4,7 +4,7 @@ const build = require('./build');
|
|||||||
const packageJson = require('../../package');
|
const packageJson = require('../../package');
|
||||||
const {TRILIUM_DATA_DIR} = require('./data_dir');
|
const {TRILIUM_DATA_DIR} = require('./data_dir');
|
||||||
|
|
||||||
const APP_DB_VERSION = 166;
|
const APP_DB_VERSION = 167;
|
||||||
const SYNC_VERSION = 16;
|
const SYNC_VERSION = 16;
|
||||||
const CLIPPER_PROTOCOL_VERSION = "1.0";
|
const CLIPPER_PROTOCOL_VERSION = "1.0";
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
import Note from './note.js';
|
||||||
|
|
||||||
class Attribute {
|
class Attribute {
|
||||||
constructor(noteCache, row) {
|
constructor(noteCache, row) {
|
||||||
/** @param {NoteCache} */
|
/** @param {NoteCache} */
|
||||||
@ -23,6 +25,12 @@ class Attribute {
|
|||||||
this.isInheritable = !!row.isInheritable;
|
this.isInheritable = !!row.isInheritable;
|
||||||
|
|
||||||
this.noteCache.attributes[this.attributeId] = this;
|
this.noteCache.attributes[this.attributeId] = this;
|
||||||
|
|
||||||
|
if (!(this.noteId in this.noteCache.notes)) {
|
||||||
|
// entities can come out of order in sync, create skeleton which will be filled later
|
||||||
|
this.noteCache.notes[this.noteId] = new Note(this.noteCache, {noteId: this.noteId});
|
||||||
|
}
|
||||||
|
|
||||||
this.noteCache.notes[this.noteId].ownedAttributes.push(this);
|
this.noteCache.notes[this.noteId].ownedAttributes.push(this);
|
||||||
|
|
||||||
const key = `${this.type}-${this.name}`;
|
const key = `${this.type}-${this.name}`;
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
import Note from "./note.js";
|
||||||
|
|
||||||
class Branch {
|
class Branch {
|
||||||
constructor(noteCache, row) {
|
constructor(noteCache, row) {
|
||||||
/** @param {NoteCache} */
|
/** @param {NoteCache} */
|
||||||
@ -17,14 +19,9 @@ class Branch {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const childNote = this.noteCache.notes[this.noteId];
|
const childNote = this.childNote;
|
||||||
const parentNote = this.parentNote;
|
const parentNote = this.parentNote;
|
||||||
|
|
||||||
if (!childNote) {
|
|
||||||
console.log(`Cannot find child note ${this.noteId} of a branch ${this.branchId}`);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
childNote.parents.push(parentNote);
|
childNote.parents.push(parentNote);
|
||||||
childNote.parentBranches.push(this);
|
childNote.parentBranches.push(this);
|
||||||
|
|
||||||
@ -35,14 +32,23 @@ class Branch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** @return {Note} */
|
/** @return {Note} */
|
||||||
get parentNote() {
|
get childNote() {
|
||||||
const note = this.noteCache.notes[this.parentNoteId];
|
if (!(this.noteId in this.noteCache.notes)) {
|
||||||
|
// entities can come out of order in sync, create skeleton which will be filled later
|
||||||
if (!note) {
|
this.noteCache.notes[this.noteId] = new Note(this.noteCache, {noteId: this.noteId});
|
||||||
console.log(`Cannot find note ${this.parentNoteId}`);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return note;
|
return this.noteCache.notes[this.noteId];
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return {Note} */
|
||||||
|
get parentNote() {
|
||||||
|
if (!(this.parentNoteId in this.noteCache.notes)) {
|
||||||
|
// entities can come out of order in sync, create skeleton which will be filled later
|
||||||
|
this.noteCache.notes[this.parentNoteId] = new Note(this.noteCache, {noteId: this.parentNoteId});
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.noteCache.notes[this.parentNoteId];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user