From a1c4a17d64852124c258c6ba09641fbb738f7626 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 7 Jan 2026 11:23:39 +0200 Subject: [PATCH] chore(core): integrate keyboard actions route --- apps/client/src/local-server-worker.ts | 10 ++++++++++ apps/server/src/routes/routes.ts | 5 ++--- .../trilium-core}/src/routes/api/keys.ts | 6 +++--- packages/trilium-core/src/routes/index.ts | 1 + 4 files changed, 16 insertions(+), 6 deletions(-) rename {apps/server => packages/trilium-core}/src/routes/api/keys.ts (69%) diff --git a/apps/client/src/local-server-worker.ts b/apps/client/src/local-server-worker.ts index 91c087f31..4072305ee 100644 --- a/apps/client/src/local-server-worker.ts +++ b/apps/client/src/local-server-worker.ts @@ -89,6 +89,8 @@ async function initialize(): Promise { } }); + console.log("[Worker] Supported routes", Object.keys(coreModule.routes)); + console.log("[Worker] Initializing becca..."); await coreModule.becca_loader.beccaLoaded; @@ -219,6 +221,14 @@ async function dispatch(request: LocalRequest) { })); } + if (request.method === "GET" && url.pathname === "/api/keyboard-actions") { + return jsonResponse(core.routes.keysApiRoute.getKeyboardActions()); + } + + if (request.method === "GET" && url.pathname === "/api/keyboard-shortcuts-for-notes") { + return jsonResponse(core.routes.keysApiRoute.getShortcutsForNotes()); + } + if (url.pathname.startsWith("/api/echo")) { return jsonResponse({ ok: true, method: request.method, url: request.url }); } diff --git a/apps/server/src/routes/routes.ts b/apps/server/src/routes/routes.ts index 97fee7666..25f5733b4 100644 --- a/apps/server/src/routes/routes.ts +++ b/apps/server/src/routes/routes.ts @@ -34,7 +34,6 @@ import filesRoute from "./api/files.js"; import fontsRoute from "./api/fonts.js"; import imageRoute from "./api/image.js"; import importRoute from "./api/import.js"; -import keysRoute from "./api/keys.js"; import llmRoute from "./api/llm.js"; import loginApiRoute from "./api/login.js"; import metricsRoute from "./api/metrics.js"; @@ -332,8 +331,8 @@ function register(app: express.Application) { asyncRoute(PST, "/api/sender/image", [auth.checkEtapiToken, uploadMiddlewareWithErrorHandling], senderRoute.uploadImage, apiResultHandler); asyncRoute(PST, "/api/sender/note", [auth.checkEtapiToken], senderRoute.saveNote, apiResultHandler); - apiRoute(GET, "/api/keyboard-actions", keysRoute.getKeyboardActions); - apiRoute(GET, "/api/keyboard-shortcuts-for-notes", keysRoute.getShortcutsForNotes); + apiRoute(GET, "/api/keyboard-actions", routes.keysApiRoute.getKeyboardActions); + apiRoute(GET, "/api/keyboard-shortcuts-for-notes", routes.keysApiRoute.getShortcutsForNotes); apiRoute(PST, "/api/relation-map", relationMapApiRoute.getRelationMap); apiRoute(PST, "/api/notes/erase-deleted-notes-now", notesApiRoute.eraseDeletedNotesNow); diff --git a/apps/server/src/routes/api/keys.ts b/packages/trilium-core/src/routes/api/keys.ts similarity index 69% rename from apps/server/src/routes/api/keys.ts rename to packages/trilium-core/src/routes/api/keys.ts index aded839e2..c1b3cbc16 100644 --- a/apps/server/src/routes/api/keys.ts +++ b/packages/trilium-core/src/routes/api/keys.ts @@ -1,10 +1,10 @@ "use strict"; -import keyboardActions from "../../services/keyboard_actions.js"; -import becca from "../../becca/becca.js"; +import becca from "../../becca/becca"; +import keyboard_actions from "../../services/keyboard_actions"; function getKeyboardActions() { - return keyboardActions.getKeyboardActions(); + return keyboard_actions.getKeyboardActions(); } function getShortcutsForNotes() { diff --git a/packages/trilium-core/src/routes/index.ts b/packages/trilium-core/src/routes/index.ts index 67799a2c0..fc76c6937 100644 --- a/packages/trilium-core/src/routes/index.ts +++ b/packages/trilium-core/src/routes/index.ts @@ -1,2 +1,3 @@ export { default as optionsApiRoute } from "./api/options"; export { default as treeApiRoute } from "./api/tree"; +export { default as keysApiRoute } from "./api/keys";