diff --git a/apps/desktop/src/electron/DesktopEarlyStartup.test.ts b/apps/desktop/src/electron/DesktopEarlyStartup.test.ts index 11ff0c72b6c..56ccc2116f0 100644 --- a/apps/desktop/src/electron/DesktopEarlyStartup.test.ts +++ b/apps/desktop/src/electron/DesktopEarlyStartup.test.ts @@ -7,48 +7,17 @@ import { } from "./DesktopEarlyStartup.ts"; function makeApp() { - const appendSwitch = vi.fn(); const exit = vi.fn(); const getVersion = vi.fn(() => "1.2.3"); const app: DesktopEarlyStartupApp = { - commandLine: { appendSwitch }, exit, getVersion, }; - return { app, appendSwitch, exit, getVersion }; + return { app, exit, getVersion }; } describe("configureDesktopEarlyStartup", () => { - it("forces the libsecret password store on Linux", () => { - const { app, appendSwitch } = makeApp(); - - configureDesktopEarlyStartup({ - app, - argv: ["t3code"], - platform: "linux", - writeStdout: vi.fn(), - }); - - assert.deepStrictEqual(appendSwitch.mock.calls, [["password-store", "gnome-libsecret"]]); - }); - - it.each(["darwin", "win32"] as const)( - "does not override the password store on %s", - (platform: "darwin" | "win32") => { - const { app, appendSwitch } = makeApp(); - - configureDesktopEarlyStartup({ - app, - argv: ["t3code"], - platform, - writeStdout: vi.fn(), - }); - - assert.strictEqual(appendSwitch.mock.calls.length, 0); - }, - ); - it.each(["--version", "-v"] as const)( "prints the packaged version for %s", (flag: "--version" | "-v") => { @@ -58,7 +27,6 @@ describe("configureDesktopEarlyStartup", () => { configureDesktopEarlyStartup({ app, argv: ["t3code", flag], - platform: "linux", writeStdout, }); @@ -67,4 +35,19 @@ describe("configureDesktopEarlyStartup", () => { assert.deepStrictEqual(exit.mock.calls, [[0]]); }, ); + + it("does nothing for an ordinary launch", () => { + const { app, exit, getVersion } = makeApp(); + const writeStdout = vi.fn(); + + configureDesktopEarlyStartup({ + app, + argv: ["t3code"], + writeStdout, + }); + + assert.strictEqual(getVersion.mock.calls.length, 0); + assert.strictEqual(writeStdout.mock.calls.length, 0); + assert.strictEqual(exit.mock.calls.length, 0); + }); }); diff --git a/apps/desktop/src/electron/DesktopEarlyStartup.ts b/apps/desktop/src/electron/DesktopEarlyStartup.ts index 55dd473dca9..b56ad1a91ea 100644 --- a/apps/desktop/src/electron/DesktopEarlyStartup.ts +++ b/apps/desktop/src/electron/DesktopEarlyStartup.ts @@ -1,7 +1,4 @@ export interface DesktopEarlyStartupApp { - readonly commandLine: { - readonly appendSwitch: (switchName: string, value?: string) => void; - }; readonly exit: (exitCode?: number) => void; readonly getVersion: () => string; } @@ -9,21 +6,15 @@ export interface DesktopEarlyStartupApp { export interface ConfigureDesktopEarlyStartupOptions { readonly app: DesktopEarlyStartupApp; readonly argv: ReadonlyArray; - readonly platform: NodeJS.Platform; readonly writeStdout: (value: string) => unknown; } /** * Applies command-line behavior that Electron must receive before `app.whenReady()`. - * - * Keep this explicit: Electron's automatic password-store selection is unreliable - * in Linux desktop sessions such as Niri/UWSM, where Secret Service is available - * but Chromium can otherwise select an unusable backend. */ export function configureDesktopEarlyStartup({ app, argv, - platform, writeStdout, }: ConfigureDesktopEarlyStartupOptions): void { if (argv.includes("--version") || argv.includes("-v")) { @@ -33,8 +24,4 @@ export function configureDesktopEarlyStartup({ app.exit(0); } } - - if (platform === "linux") { - app.commandLine.appendSwitch("password-store", "gnome-libsecret"); - } } diff --git a/apps/desktop/src/main.ts b/apps/desktop/src/main.ts index ee00eb6751d..01b476f537b 100644 --- a/apps/desktop/src/main.ts +++ b/apps/desktop/src/main.ts @@ -66,7 +66,6 @@ import * as DesktopWslEnvironment from "./wsl/DesktopWslEnvironment.ts"; configureDesktopEarlyStartup({ app: Electron.app, argv: process.argv, - platform: Effect.runSync(HostProcessPlatform), writeStdout: (value) => process.stdout.write(value), });