authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-02-26 11:58:51-08:00
committergravatar for jmarminge@gmail.comJulius Marminge <jmarminge@gmail.com> 2026-02-26 13:20:36-08:00
log61560bef235fb6a04c36b99190a762713141e35a
tree27e3b91b4e207ee18a4c1a36df978fe2677f051b
parent667c8c6166592f614ab8316756fc2f817e8b761e

fix bunpty lazy


1 files changed, 17 insertions(+), 16 deletions(-)

apps/server/src/terminal/Layers/BunPTY.ts+17-16
......@@ -93,23 +93,24 @@ export const BunPtyAdapterLive = Layer.effect(
9393 return yield* Effect.die("Bun PTY terminal support is unavailable on Windows.");
9494 }
9595 return {
96 spawn: (input) => {
97 let processHandle: BunPtyProcess | null = null;
98 const command = [input.shell, ...(input.args ?? [])];
99 const subprocess = Bun.spawn(command, {
100 cwd: input.cwd,
101 env: input.env,
102 terminal: {
103 cols: input.cols,
104 rows: input.rows,
105 data: (_terminal, data) => {
106 processHandle?.emitData(data);
96 spawn: (input) =>
97 Effect.sync(() => {
98 let processHandle: BunPtyProcess | null = null;
99 const command = [input.shell, ...(input.args ?? [])];
100 const subprocess = Bun.spawn(command, {
101 cwd: input.cwd,
102 env: input.env,
103 terminal: {
104 cols: input.cols,
105 rows: input.rows,
106 data: (_terminal, data) => {
107 processHandle?.emitData(data);
108 },
107109 },
108 },
109 });
110 processHandle = new BunPtyProcess(subprocess);
111 return Effect.succeed(processHandle);
112 },
110 });
111 processHandle = new BunPtyProcess(subprocess);
112 return processHandle;
113 }),
113114 } satisfies PtyAdapterShape;
114115 }),
115116);