| author | |
| committer | |
| log | e0fe4270aace7279696dd83be62990cbc7a84c63 |
| tree | 23f1a7383bcfda7e7347c74bb6bdbb9fdaea9fbb |
| parent | 0451b503a387692339c4e6633580d69009c21740 |
3 files changed, 4 insertions(+), 47 deletions(-)
apps/desktop/src/main.ts+4-12| ... | ... | @@ -5,20 +5,11 @@ import net from "node:net"; |
| 5 | 5 | import os from "node:os"; |
| 6 | 6 | import path from "node:path"; |
| 7 | 7 | |
| 8 | import { | |
| 9 | app, | |
| 10 | BrowserWindow, | |
| 11 | dialog, | |
| 12 | ipcMain, | |
| 13 | Menu, | |
| 14 | type MenuItemConstructorOptions, | |
| 15 | protocol, | |
| 16 | shell, | |
| 17 | } from "electron"; | |
| 8 | import { app, BrowserWindow, dialog, ipcMain, Menu, protocol, shell } from "electron"; | |
| 9 | import type { MenuItemConstructorOptions } from "electron"; | |
| 18 | 10 | |
| 19 | 11 | import { showDesktopConfirmDialog } from "./confirmDialog"; |
| 20 | 12 | import { fixPath } from "./fixPath"; |
| 21 | import { resolveDesktopStateDir } from "./stateDir"; | |
| 22 | 13 | |
| 23 | 14 | fixPath(); |
| 24 | 15 | |
| ... | ... | @@ -27,7 +18,8 @@ const CONFIRM_CHANNEL = "desktop:confirm"; |
| 27 | 18 | const CONTEXT_MENU_CHANNEL = "desktop:context-menu"; |
| 28 | 19 | const OPEN_EXTERNAL_CHANNEL = "desktop:open-external"; |
| 29 | 20 | const MENU_ACTION_CHANNEL = "desktop:menu-action"; |
| 30 | const STATE_DIR = resolveDesktopStateDir(); | |
| 21 | const STATE_DIR = | |
| 22 | process.env.T3CODE_STATE_DIR?.trim() ?? path.join(os.homedir(), ".t3", "userdata"); | |
| 31 | 23 | const DESKTOP_SCHEME = "t3"; |
| 32 | 24 | const ROOT_DIR = path.resolve(__dirname, "../../.."); |
| 33 | 25 | const isDevelopment = Boolean(process.env.VITE_DEV_SERVER_URL); |
apps/desktop/src/stateDir.test.ts deleted-23| ... | ... | @@ -1,23 +0,0 @@ |
| 1 | import os from "node:os"; | |
| 2 | import path from "node:path"; | |
| 3 | ||
| 4 | import { describe, expect, it } from "vitest"; | |
| 5 | ||
| 6 | import { DEFAULT_DESKTOP_STATE_DIR, resolveDesktopStateDir } from "./stateDir"; | |
| 7 | ||
| 8 | describe("resolveDesktopStateDir", () => { | |
| 9 | it("returns env override when provided", () => { | |
| 10 | const resolved = resolveDesktopStateDir({ | |
| 11 | T3CODE_STATE_DIR: " /tmp/t3-dev-state ", | |
| 12 | }); | |
| 13 | ||
| 14 | expect(resolved).toBe("/tmp/t3-dev-state"); | |
| 15 | }); | |
| 16 | ||
| 17 | it("falls back to default userdata dir when override is missing", () => { | |
| 18 | const resolved = resolveDesktopStateDir({}); | |
| 19 | ||
| 20 | expect(resolved).toBe(DEFAULT_DESKTOP_STATE_DIR); | |
| 21 | expect(resolved).toBe(path.join(os.homedir(), ".t3", "userdata")); | |
| 22 | }); | |
| 23 | }); |
apps/desktop/src/stateDir.ts deleted-12| ... | ... | @@ -1,12 +0,0 @@ |
| 1 | import os from "node:os"; | |
| 2 | import path from "node:path"; | |
| 3 | ||
| 4 | export const DEFAULT_DESKTOP_STATE_DIR = path.join(os.homedir(), ".t3", "userdata"); | |
| 5 | ||
| 6 | export function resolveDesktopStateDir(env: NodeJS.ProcessEnv = process.env): string { | |
| 7 | const value = env.T3CODE_STATE_DIR?.trim(); | |
| 8 | if (value) { | |
| 9 | return value; | |
| 10 | } | |
| 11 | return DEFAULT_DESKTOP_STATE_DIR; | |
| 12 | } |