authorgravatar for maria@kuuro.netmaria <maria@kuuro.net> 2026-10-04 08:21:55-03:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-10-04 08:21:55-03:00
loge01e58916fa51ec52389cabba1b5fbba6344723d
tree9e979eed3a893f4c9af0c64075d1ac86195295ec
parentc8d7d50a73793b6c1d43ea23211e89bbd8f0c910
signature Signed by PGP key B5690EEEBB952194

fix(desktop): print version before initializing the app (#15440)


1 files changed, 11 insertions(+), 0 deletions(-)

apps/desktop/src/main.ts+11
......@@ -8,6 +8,8 @@ for (const stream of [process.stdout, process.stderr]) {
88import * as NodeHttpClient from "@effect/platform-node/NodeHttpClient";
99import * as NodeRuntime from "@effect/platform-node/NodeRuntime";
1010import * as NodeServices from "@effect/platform-node/NodeServices";
11// @effect-diagnostics-next-line nodeBuiltinImport:off - Version output must flush before Electron exits, without acquiring the runtime.
12import * as NodeFS from "node:fs";
1113import * as NodeOS from "node:os";
1214import * as Effect from "effect/Effect";
1315import * as Layer from "effect/Layer";
......@@ -69,6 +71,15 @@ import * as DesktopWslBackend from "./wsl/DesktopWslBackend.ts";
6971import * as DesktopWslEnvironment from "./wsl/DesktopWslEnvironment.ts";
7072import * as DesktopWslServerTree from "./wsl/DesktopWslServerTree.ts";
7173
74if (process.argv.includes("--version")) {
75 try {
76 NodeFS.writeSync(process.stdout.fd, `${Electron.app.getVersion()}\n`);
77 } catch (error) {
78 if (!(error instanceof Error) || !("code" in error) || error.code !== "EPIPE") throw error;
79 }
80 Electron.app.exit(0);
81}
82
7283const desktopEnvironmentLayer = Layer.unwrap(
7384 Effect.gen(function* () {
7485 const metadata = yield* Effect.service(ElectronApp.ElectronApp).pipe(