From 61560bef235fb6a04c36b99190a762713141e35a Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Thu, 26 Feb 2026 11:58:51 -0800 Subject: [PATCH] fix bunpty lazy --- apps/server/src/terminal/Layers/BunPTY.ts | 33 ++++++++++++----------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/apps/server/src/terminal/Layers/BunPTY.ts b/apps/server/src/terminal/Layers/BunPTY.ts index 84a116d32156e5645046745b005e28aa482e2edd..48b6492b195bce63958c5d93b38f20b828c741d0 100644 --- a/apps/server/src/terminal/Layers/BunPTY.ts +++ b/apps/server/src/terminal/Layers/BunPTY.ts @@ -93,23 +93,24 @@ export const BunPtyAdapterLive = Layer.effect( return yield* Effect.die("Bun PTY terminal support is unavailable on Windows."); } return { - spawn: (input) => { - let processHandle: BunPtyProcess | null = null; - const command = [input.shell, ...(input.args ?? [])]; - const subprocess = Bun.spawn(command, { - cwd: input.cwd, - env: input.env, - terminal: { - cols: input.cols, - rows: input.rows, - data: (_terminal, data) => { - processHandle?.emitData(data); + spawn: (input) => + Effect.sync(() => { + let processHandle: BunPtyProcess | null = null; + const command = [input.shell, ...(input.args ?? [])]; + const subprocess = Bun.spawn(command, { + cwd: input.cwd, + env: input.env, + terminal: { + cols: input.cols, + rows: input.rows, + data: (_terminal, data) => { + processHandle?.emitData(data); + }, }, - }, - }); - processHandle = new BunPtyProcess(subprocess); - return Effect.succeed(processHandle); - }, + }); + processHandle = new BunPtyProcess(subprocess); + return processHandle; + }), } satisfies PtyAdapterShape; }), ); -- 2.54.0