diff --git a/src/public/app/dialogs/options/keyboard_shortcuts.js b/src/public/app/dialogs/options/keyboard_shortcuts.js index 2eaef5d98..2fecdeeb5 100644 --- a/src/public/app/dialogs/options/keyboard_shortcuts.js +++ b/src/public/app/dialogs/options/keyboard_shortcuts.js @@ -37,7 +37,7 @@ export default class KeyboardShortcutsOptions { constructor() { $("#options-keyboard-shortcuts").html(TPL); - $("#options-keyboard-shortcuts-reload-app").on("click", () => utils.reloadApp()); + $("#options-keyboard-shortcuts-reload-app").on("click", () => utils.reloadFrontendApp()); const $table = $("#keyboard-shortcut-table tbody"); diff --git a/src/public/app/services/branches.js b/src/public/app/services/branches.js index c1090998b..6b8381a5a 100644 --- a/src/public/app/services/branches.js +++ b/src/public/app/services/branches.js @@ -128,7 +128,7 @@ async function moveNodeUpInHierarchy(node) { if (!hoistedNoteService.isTopLevelNode(node) && node.getParent().getChildren().length <= 1) { node.getParent().folder = false; - node.getParent().getTitle(); + node.getParent().renderTitle(); } } diff --git a/src/public/app/services/entrypoints.js b/src/public/app/services/entrypoints.js index bd33aab2c..3510a18e2 100644 --- a/src/public/app/services/entrypoints.js +++ b/src/public/app/services/entrypoints.js @@ -129,7 +129,7 @@ export default class Entrypoints extends Component { } reloadFrontendAppCommand() { - utils.reloadApp(); + utils.reloadFrontendApp(); } logoutCommand() { @@ -169,7 +169,7 @@ export default class Entrypoints extends Component { async switchToDesktopVersionCommand() { utils.setCookie('trilium-device', 'desktop'); - utils.reloadApp(); + utils.reloadFrontendApp(); } async openInWindowCommand({notePath, hoistedNoteId}) { diff --git a/src/public/app/services/froca_updater.js b/src/public/app/services/froca_updater.js index 2edf99b04..5ac97a3d4 100644 --- a/src/public/app/services/froca_updater.js +++ b/src/public/app/services/froca_updater.js @@ -1,5 +1,6 @@ import LoadResults from "./load_results.js"; import froca from "./froca.js"; +import utils from "./utils.js"; import options from "./options.js"; import noteAttributeCache from "./note_attribute_cache.js"; import Branch from "../entities/branch.js"; @@ -84,6 +85,11 @@ function processNoteChange(loadResults, ec) { loadResults.addNote(ec.entityId, ec.sourceId); + if (ec.isErased && ec.entityId in froca.notes) { + utils.reloadFrontendApp(); + return; + } + if (ec.isErased || ec.entity?.isDeleted) { delete froca.notes[ec.entityId]; } @@ -93,6 +99,11 @@ function processNoteChange(loadResults, ec) { } function processBranchChange(loadResults, ec) { + if (ec.isErased && ec.entityId in froca.branches) { + utils.reloadFrontendApp(); + return; + } + let branch = froca.branches[ec.entityId]; if (ec.isErased || ec.entity?.isDeleted) { @@ -127,7 +138,7 @@ function processBranchChange(loadResults, ec) { branch.update(ec.entity); } else if (childNote || parentNote) { - froca.branches[branch.branchId] = branch = new Branch(froca, ec.entity); + froca.branches[ec.entityId] = branch = new Branch(froca, ec.entity); } if (childNote) { @@ -166,6 +177,11 @@ function processNoteReordering(loadResults, ec) { function processAttributeChange(loadResults, ec) { let attribute = froca.attributes[ec.entityId]; + if (ec.isErased && ec.entityId in froca.attributes) { + utils.reloadFrontendApp(); + return; + } + if (ec.isErased || ec.entity?.isDeleted) { if (attribute) { const sourceNote = froca.notes[attribute.noteId]; diff --git a/src/public/app/services/protected_session.js b/src/public/app/services/protected_session.js index 57f811679..21a81b8a1 100644 --- a/src/public/app/services/protected_session.js +++ b/src/public/app/services/protected_session.js @@ -69,7 +69,7 @@ ws.subscribeToMessages(async message => { toastService.showMessage("Protected session has been started."); } else if (message.type === 'protectedSessionLogout') { - utils.reloadApp(); + utils.reloadFrontendApp(); } }); diff --git a/src/public/app/services/utils.js b/src/public/app/services/utils.js index 4126b48df..b2a81f868 100644 --- a/src/public/app/services/utils.js +++ b/src/public/app/services/utils.js @@ -1,4 +1,4 @@ -function reloadApp() { +function reloadFrontendApp() { window.location.reload(true); } @@ -353,7 +353,7 @@ function isValidAttributeName(name) { } export default { - reloadApp, + reloadFrontendApp, parseDate, padNum, formatTime, diff --git a/src/public/app/services/ws.js b/src/public/app/services/ws.js index 692e92ffb..4ef5d5a8c 100644 --- a/src/public/app/services/ws.js +++ b/src/public/app/services/ws.js @@ -149,7 +149,7 @@ async function consumeFrontendUpdateData() { if (!glob.isDev && !options.is('debugModeEnabled')) { // if there's an error in updating the frontend then the easy option to recover is to reload the frontend completely - utils.reloadApp(); + utils.reloadFrontendApp(); } else { console.log("nonProcessedEntityChanges causing the timeout", nonProcessedEntityChanges); diff --git a/src/public/app/setup.js b/src/public/app/setup.js index 1c792deba..d265888e6 100644 --- a/src/public/app/setup.js +++ b/src/public/app/setup.js @@ -139,7 +139,7 @@ async function checkOutstandingSyncs() { remote.app.exit(0); } else { - utils.reloadApp(); + utils.reloadFrontendApp(); } } else { diff --git a/src/public/app/widgets/note_tree.js b/src/public/app/widgets/note_tree.js index 882a35faa..bdb418902 100644 --- a/src/public/app/widgets/note_tree.js +++ b/src/public/app/widgets/note_tree.js @@ -1031,9 +1031,10 @@ export default class NoteTreeWidget extends NoteContextAwareWidget { if (!found) { // make sure it's loaded await froca.getNote(branch.noteId); + const frocaBranch = froca.getBranch(branch.branchId); - // we're forcing lazy since it's not clear if the whole required subtree is in froca - parentNode.addChildren([this.prepareNode(branch, true)]); + // we're forcing lazy since it's not clear if the whole required subtree is in froca + parentNode.addChildren([this.prepareNode(frocaBranch, true)]); this.sortChildren(parentNode);