From d45d5082f45d60de69d07998429d6f49c64a7b95 Mon Sep 17 00:00:00 2001 From: Elysia Date: Tue, 17 Feb 2026 22:08:51 +0800 Subject: [PATCH] fix(main): use app.getVersion() for packaged app Signed-off-by: Elysia --- electron/main/index.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/electron/main/index.ts b/electron/main/index.ts index 7482118d..9830802f 100644 --- a/electron/main/index.ts +++ b/electron/main/index.ts @@ -62,7 +62,17 @@ if (!app.requestSingleInstanceLock()) { let win: BrowserWindow | null = null; const preload = path.join(__dirname, "../preload/index.mjs"); const indexHtml = path.join(RENDERER_DIST, "index.html"); -const userAgent = `APM-Store/${JSON.stringify(process.env.npm_package_version)}`; + +// Use app.getVersion() when the app is packaged. +const getUserAgent = (): string => { + const version = app && app.isPackaged + ? app.getVersion() + : process.env.npm_package_version || "dev"; + return `APM-Store/${version}`; +}; + +logger.info("User Agent: " + getUserAgent()); + async function createWindow() { win = new BrowserWindow({ @@ -133,7 +143,7 @@ ipcMain.on("set-theme-source", (event, theme: "system" | "light" | "dark") => { app.whenReady().then(() => { // Set User-Agent for client session.defaultSession.webRequest.onBeforeSendHeaders((details, callback) => { - details.requestHeaders["User-Agent"] = userAgent; + details.requestHeaders["User-Agent"] = getUserAgent(); callback({ cancel: false, requestHeaders: details.requestHeaders }); }); createWindow();