From 385182cd9701617c1d6e884383dd71dda4df984f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 1 May 2025 17:22:26 +0300 Subject: [PATCH] fix(edit-docs): get Electron to actually start --- apps/desktop/src/electron-main.ts | 52 ++++++++++++------------ apps/edit-docs/src/electron-docs-main.ts | 5 ++- apps/edit-docs/tsconfig.app.json | 3 ++ apps/edit-docs/tsconfig.json | 3 ++ apps/edit-docs/webpack.config.cjs | 4 ++ 5 files changed, 41 insertions(+), 26 deletions(-) diff --git a/apps/desktop/src/electron-main.ts b/apps/desktop/src/electron-main.ts index 1ded01e95..ac1c712dc 100644 --- a/apps/desktop/src/electron-main.ts +++ b/apps/desktop/src/electron-main.ts @@ -31,31 +31,7 @@ async function main() { } }); - electron.app.on("ready", async () => { - // electron.app.setAppUserModelId('com.github.zadam.trilium'); - - // if db is not initialized -> setup process - // if db is initialized, then we need to wait until the migration process is finished - if (sqlInit.isDbInitialized()) { - await sqlInit.dbReady; - - await windowService.createMainWindow(electron.app); - - if (process.platform === "darwin") { - electron.app.on("activate", async () => { - if (electron.BrowserWindow.getAllWindows().length === 0) { - await windowService.createMainWindow(electron.app); - } - }); - } - - tray.createTray(); - } else { - await windowService.createSetupWindow(); - } - - await windowService.registerGlobalShortcuts(); - }); + electron.app.on("ready", onReady); electron.app.on("will-quit", () => { electron.globalShortcut.unregisterAll(); @@ -68,4 +44,30 @@ async function main() { await import("@triliumnext/server/src/main.js"); } +export async function onReady() { + // electron.app.setAppUserModelId('com.github.zadam.trilium'); + + // if db is not initialized -> setup process + // if db is initialized, then we need to wait until the migration process is finished + if (sqlInit.isDbInitialized()) { + await sqlInit.dbReady; + + await windowService.createMainWindow(electron.app); + + if (process.platform === "darwin") { + electron.app.on("activate", async () => { + if (electron.BrowserWindow.getAllWindows().length === 0) { + await windowService.createMainWindow(electron.app); + } + }); + } + + tray.createTray(); + } else { + await windowService.createSetupWindow(); + } + + await windowService.registerGlobalShortcuts(); +} + main(); diff --git a/apps/edit-docs/src/electron-docs-main.ts b/apps/edit-docs/src/electron-docs-main.ts index ad7610da2..52121df3a 100644 --- a/apps/edit-docs/src/electron-docs-main.ts +++ b/apps/edit-docs/src/electron-docs-main.ts @@ -13,6 +13,8 @@ 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"; interface NoteMapping { rootNoteId: string; @@ -53,6 +55,8 @@ const NOTE_MAPPINGS: NoteMapping[] = [ ]; async function main() { + electron.app.on("ready", onReady); + await initializeTranslations(); await initializeDatabase(true); @@ -68,7 +72,6 @@ async function main() { }); await initializedPromise; - await startElectron(); // Wait for the import to be finished and the application to be loaded before we listen to changes. setTimeout(() => registerHandlers(), 10_000); diff --git a/apps/edit-docs/tsconfig.app.json b/apps/edit-docs/tsconfig.app.json index a232431d0..2479661aa 100644 --- a/apps/edit-docs/tsconfig.app.json +++ b/apps/edit-docs/tsconfig.app.json @@ -18,6 +18,9 @@ "eslint.config.mjs" ], "references": [ + { + "path": "../server/tsconfig.app.json" + }, { "path": "../desktop/tsconfig.app.json" }, diff --git a/apps/edit-docs/tsconfig.json b/apps/edit-docs/tsconfig.json index 56baa3f4e..de6607550 100644 --- a/apps/edit-docs/tsconfig.json +++ b/apps/edit-docs/tsconfig.json @@ -3,6 +3,9 @@ "files": [], "include": [], "references": [ + { + "path": "../server" + }, { "path": "../desktop" }, diff --git a/apps/edit-docs/webpack.config.cjs b/apps/edit-docs/webpack.config.cjs index bfbfe7c55..98b20852b 100644 --- a/apps/edit-docs/webpack.config.cjs +++ b/apps/edit-docs/webpack.config.cjs @@ -35,6 +35,10 @@ module.exports = { from: "../desktop/dist/assets", to: join(outputDir, "assets") }, + { + from: "../desktop/dist/public", + to: join(outputDir, "public") + }, ] }) ],