From 42e179653c3781f134ba750f350903dfb5abae5e Mon Sep 17 00:00:00 2001 From: Will Chen Date: Tue, 15 Apr 2025 21:48:13 -0700 Subject: [PATCH] Clean up ANSI escape codes from stdout/stderr (interfered with port detection) --- src/ipc/handlers/app_handlers.ts | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/ipc/handlers/app_handlers.ts b/src/ipc/handlers/app_handlers.ts index 994b8c3..e4d078f 100644 --- a/src/ipc/handlers/app_handlers.ts +++ b/src/ipc/handlers/app_handlers.ts @@ -35,7 +35,7 @@ import { Worker } from "worker_threads"; import fixPath from "fix-path"; import { getGitAuthor } from "../utils/git_author"; import killPort from "kill-port"; - +import util from "util"; // Needed, otherwise electron in MacOS/Linux will not be able // to find "npm". fixPath(); @@ -171,24 +171,22 @@ async function executeAppLocalNode({ // Log output process.stdout?.on("data", (data) => { - console.log( - `App ${appId} (PID: ${process.pid}) stdout: ${data.toString().trim()}` - ); + const message = util.stripVTControlCharacters(data.toString()); + console.log(`App ${appId} (PID: ${process.pid}) stdout: ${message}`); event.sender.send("app:output", { type: "stdout", - message: data.toString().trim(), - appId: appId, + message, + appId, }); }); process.stderr?.on("data", (data) => { - console.error( - `App ${appId} (PID: ${process.pid}) stderr: ${data.toString().trim()}` - ); + const message = util.stripVTControlCharacters(data.toString()); + console.error(`App ${appId} (PID: ${process.pid}) stderr: ${message}`); event.sender.send("app:output", { type: "stderr", - message: data.toString().trim(), - appId: appId, + message, + appId, }); });