diff --git a/package.json b/package.json index 39d9d46..34289b0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "markdown-converter", + "name": "markdown-converter-react", "version": "5.0.1", - "description": "Professional Markdown editor and universal file converter with PDF editing, batch processing, and syntax highlighting", + "description": "Professional Markdown editor and universal file converter with PDF editing, batch processing, and syntax highlighting (React build)", "main": "src/main/index.js", "scripts": { "start": "electron .", @@ -161,8 +161,8 @@ "lodash": "^4.17.21" }, "build": { - "appId": "com.concreteinfo.markdownconverter", - "productName": "MarkdownConverter", + "appId": "com.concreteinfo.markdownconverter.react", + "productName": "Markdown Converter React", "copyright": "Copyright (C) 2024-2025 ConcreteInfo", "directories": { "output": "dist" @@ -291,6 +291,8 @@ ], "category": "Utility", "maintainer": "ConcreteInfo ", + "executableName": "markdown-converter-react", + "synopsis": "Markdown editor and converter (React build)", "extraFiles": [ { "from": "bin/linux/pandoc", diff --git a/src/main/updater/migration-transform.js b/src/main/updater/migration-transform.js index 6ef2864..afa6533 100644 --- a/src/main/updater/migration-transform.js +++ b/src/main/updater/migration-transform.js @@ -39,6 +39,9 @@ const v5SettingsSchema = z updateChannel: z.enum(['github', 'concreteinfo']).default('github'), autoCheckUpdates: z.boolean().default(true), firstRun: z.boolean().default(true), + monospaceFont: z.enum(['jetbrains-mono', 'fira-code']).default('jetbrains-mono'), + monospaceLigatures: z.boolean().default(false), + appVariant: z.enum(['classic', 'react']).default('react'), 'migration.version': z.literal(5).optional(), }) .passthrough(); diff --git a/src/main/window/index.js b/src/main/window/index.js index 657311e..7b4a03f 100644 --- a/src/main/window/index.js +++ b/src/main/window/index.js @@ -9,12 +9,14 @@ const menu = require('../menu'); function createMainWindow() { const bounds = state.load(); + const isDev = !!process.env.VITE_DEV_SERVER_URL; const win = new BrowserWindow({ width: bounds.width, height: bounds.height, x: bounds.x, y: bounds.y, show: true, + title: `Markdown Converter${isDev ? ' — React Dev' : ''}`, webPreferences: { // The preload script exposes `window.electronAPI` — the only IPC // bridge the renderer uses. Without this, every renderer call returns diff --git a/src/renderer/lib/migrations/v4-to-v5.ts b/src/renderer/lib/migrations/v4-to-v5.ts index 760cadb..c3d992e 100644 --- a/src/renderer/lib/migrations/v4-to-v5.ts +++ b/src/renderer/lib/migrations/v4-to-v5.ts @@ -10,7 +10,7 @@ export const v4SettingsSchema = z.object({ snippets: z.array(z.unknown()).default([]), }); -const v5OnlyFields = ['updateChannel', 'autoCheckUpdates', 'firstRun']; +const v5OnlyFields = ['updateChannel', 'autoCheckUpdates', 'firstRun', 'monospaceFont', 'monospaceLigatures', 'appVariant']; const v5ThemeValues = ['light', 'dark', 'system'] as const; function isAlreadyV5(data: unknown): boolean {