From 8151ac0e2546467d7f75ed7403b4229372d515a8 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 14 Dec 2023 04:54:34 +0800 Subject: [PATCH] Fix Async child process output issue (#4231) --- server/monitor-types/tailscale-ping.js | 3 ++- server/notification-providers/apprise.js | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/server/monitor-types/tailscale-ping.js b/server/monitor-types/tailscale-ping.js index 1b2be200..84b913d0 100644 --- a/server/monitor-types/tailscale-ping.js +++ b/server/monitor-types/tailscale-ping.js @@ -39,7 +39,8 @@ class TailscalePing extends MonitorType { async runTailscalePing(hostname, interval) { let timeout = interval * 1000 * 0.8; let res = await childProcessAsync.spawn("tailscale", [ "ping", "--c", "1", hostname ], { - timeout: timeout + timeout: timeout, + encoding: "utf8", }); if (res.stderr && res.stderr.toString()) { throw new Error(`Error in output: ${res.stderr.toString()}`); diff --git a/server/notification-providers/apprise.js b/server/notification-providers/apprise.js index 1943aaa6..045e65cc 100644 --- a/server/notification-providers/apprise.js +++ b/server/notification-providers/apprise.js @@ -11,7 +11,9 @@ class Apprise extends NotificationProvider { args.push("-t"); args.push(notification.title); } - const s = await childProcessAsync.spawn("apprise", args); + const s = await childProcessAsync.spawn("apprise", args, { + encoding: "utf8", + }); const output = (s.stdout) ? s.stdout.toString() : "ERROR: maybe apprise not found";