authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-02-26 18:19:17-08:00
committergravatar for jmarminge@gmail.comJulius Marminge <jmarminge@gmail.com> 2026-02-26 18:40:23-08:00
loge0fe4270aace7279696dd83be62990cbc7a84c63
tree23f1a7383bcfda7e7347c74bb6bdbb9fdaea9fbb
parent0451b503a387692339c4e6633580d69009c21740

simplify


3 files changed, 4 insertions(+), 47 deletions(-)

apps/desktop/src/main.ts+4-12
...@@ -5,20 +5,11 @@ import net from "node:net";...@@ -5,20 +5,11 @@ import net from "node:net";
5import os from "node:os";5import os from "node:os";
6import path from "node:path";6import path from "node:path";
77
8import {8import { app, BrowserWindow, dialog, ipcMain, Menu, protocol, shell } from "electron";
9 app,9import type { MenuItemConstructorOptions } from "electron";
10 BrowserWindow,
11 dialog,
12 ipcMain,
13 Menu,
14 type MenuItemConstructorOptions,
15 protocol,
16 shell,
17} from "electron";
1810
19import { showDesktopConfirmDialog } from "./confirmDialog";11import { showDesktopConfirmDialog } from "./confirmDialog";
20import { fixPath } from "./fixPath";12import { fixPath } from "./fixPath";
21import { resolveDesktopStateDir } from "./stateDir";
2213
23fixPath();14fixPath();
2415
...@@ -27,7 +18,8 @@ const CONFIRM_CHANNEL = "desktop:confirm";...@@ -27,7 +18,8 @@ const CONFIRM_CHANNEL = "desktop:confirm";
27const CONTEXT_MENU_CHANNEL = "desktop:context-menu";18const CONTEXT_MENU_CHANNEL = "desktop:context-menu";
28const OPEN_EXTERNAL_CHANNEL = "desktop:open-external";19const OPEN_EXTERNAL_CHANNEL = "desktop:open-external";
29const MENU_ACTION_CHANNEL = "desktop:menu-action";20const MENU_ACTION_CHANNEL = "desktop:menu-action";
30const STATE_DIR = resolveDesktopStateDir();21const STATE_DIR =
22 process.env.T3CODE_STATE_DIR?.trim() ?? path.join(os.homedir(), ".t3", "userdata");
31const DESKTOP_SCHEME = "t3";23const DESKTOP_SCHEME = "t3";
32const ROOT_DIR = path.resolve(__dirname, "../../..");24const ROOT_DIR = path.resolve(__dirname, "../../..");
33const isDevelopment = Boolean(process.env.VITE_DEV_SERVER_URL);25const isDevelopment = Boolean(process.env.VITE_DEV_SERVER_URL);
apps/desktop/src/stateDir.test.ts deleted-23
...@@ -1,23 +0,0 @@
1import os from "node:os";
2import path from "node:path";
3
4import { describe, expect, it } from "vitest";
5
6import { DEFAULT_DESKTOP_STATE_DIR, resolveDesktopStateDir } from "./stateDir";
7
8describe("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 @@
1import os from "node:os";
2import path from "node:path";
3
4export const DEFAULT_DESKTOP_STATE_DIR = path.join(os.homedir(), ".t3", "userdata");
5
6export 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}