From 88ae6c0635c435aa7637e769ad8bb96502ede016 Mon Sep 17 00:00:00 2001 From: Raymond Zhao Date: Fri, 7 Jan 2022 00:38:34 -0800 Subject: [PATCH] fix: Don't create console window when creating process (#32340) * fix: Don't create console window when creating process * Update patches/node/fix_don_t_create_console_window_when_creating_process.patch Co-authored-by: Robo * Remove extra line in description Co-authored-by: Robo --- patches/node/.patches | 1 + ...console_window_when_creating_process.patch | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 patches/node/fix_don_t_create_console_window_when_creating_process.patch diff --git a/patches/node/.patches b/patches/node/.patches index a337ddbaf86d..1343e5cda970 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -26,3 +26,4 @@ chore_fix_-wimplicit-fallthrough.patch test_add_fixture_trim_option.patch fix_crash_caused_by_gethostnamew_on_windows_7.patch fix_suppress_clang_-wdeprecated-declarations_in_libuv.patch +fix_don_t_create_console_window_when_creating_process.patch diff --git a/patches/node/fix_don_t_create_console_window_when_creating_process.patch b/patches/node/fix_don_t_create_console_window_when_creating_process.patch new file mode 100644 index 000000000000..2ae896f558c8 --- /dev/null +++ b/patches/node/fix_don_t_create_console_window_when_creating_process.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Raymond Zhao +Date: Tue, 4 Jan 2022 16:11:41 -0800 +Subject: fix: Don't create console window when creating process + +This patch prevents console windows from being created during +execSync calls, or spawnSync calls where shell is true. Otherwise, +Windows users will see command prompts pop up for those calls. + +The patch has been upstreamed at https://github.com/nodejs/node/pull/41412. + +diff --git a/src/spawn_sync.cc b/src/spawn_sync.cc +index 1141aceae984fba6ed07cd272a79d4007b9b03fe..afd08519d7f8974adff4060513f6160519a0b6b3 100644 +--- a/src/spawn_sync.cc ++++ b/src/spawn_sync.cc +@@ -810,6 +810,9 @@ Maybe SyncProcessRunner::ParseOptions(Local js_value) { + if (js_win_hide->BooleanValue(isolate)) + uv_process_options_.flags |= UV_PROCESS_WINDOWS_HIDE; + ++ if (env()->hide_console_windows()) ++ uv_process_options_.flags |= UV_PROCESS_WINDOWS_HIDE_CONSOLE; ++ + Local js_wva = + js_options->Get(context, env()->windows_verbatim_arguments_string()) + .ToLocalChecked();