From b0fe4f67d8803df90f5ca4b89d766b9009448f0e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 25 May 2025 18:29:31 +0300 Subject: [PATCH] fix(edit-docs): main window not starting properly --- apps/desktop/src/electron-main.ts | 2 +- apps/edit-docs/src/electron-docs-main.ts | 26 ++++++++++++++++-------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/apps/desktop/src/electron-main.ts b/apps/desktop/src/electron-main.ts index ac1c712dc..8a9ebae03 100644 --- a/apps/desktop/src/electron-main.ts +++ b/apps/desktop/src/electron-main.ts @@ -44,7 +44,7 @@ async function main() { await import("@triliumnext/server/src/main.js"); } -export async function onReady() { +async function onReady() { // electron.app.setAppUserModelId('com.github.zadam.trilium'); // if db is not initialized -> setup process diff --git a/apps/edit-docs/src/electron-docs-main.ts b/apps/edit-docs/src/electron-docs-main.ts index ac1baa107..7f293af49 100644 --- a/apps/edit-docs/src/electron-docs-main.ts +++ b/apps/edit-docs/src/electron-docs-main.ts @@ -13,9 +13,9 @@ import TaskContext from "@triliumnext/server/src/services/task_context.js"; import { deferred } from "@triliumnext/server/src/services/utils.js"; import { parseNoteMetaFile } from "@triliumnext/server/src/services/in_app_help.js"; import { resolve } from "path"; -import electron from "electron"; -import { onReady } from "@triliumnext/desktop/src/electron-main.js"; import type NoteMeta from "@triliumnext/server/src/services/meta/note_meta.js"; +import electron from "electron"; +import windowService from "@triliumnext/server/src/services/window.js"; interface NoteMapping { rootNoteId: string; @@ -56,12 +56,25 @@ const NOTE_MAPPINGS: NoteMapping[] = [ ]; async function main() { - electron.app.on("ready", onReady); + const initializedPromise = deferred(); + electron.app.on("ready", async () => { + await initializedPromise; + + console.log("Electron is ready!"); + + // Start the server. + await import("@triliumnext/server/src/main.js"); + + // Create the main window. + await windowService.createMainWindow(electron.app); + + // Wait for the import to be finished and the application to be loaded before we listen to changes. + setTimeout(() => registerHandlers(), 10_000); + }); await initializeTranslations(); await initializeDatabase(true); - const initializedPromise = deferred(); cls.init(async () => { for (const mapping of NOTE_MAPPINGS) { if (!mapping.exportOnly) { @@ -71,11 +84,6 @@ async function main() { setOptions(); initializedPromise.resolve(); }); - - await initializedPromise; - - // Wait for the import to be finished and the application to be loaded before we listen to changes. - setTimeout(() => registerHandlers(), 10_000); } async function setOptions() {