From e64f9f2c393ff54d11bfc7ab5f1d647b005f7caf Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 7 Aug 2026 12:59:56 +0200 Subject: [PATCH] fix: Wait for websocket sockets during startup (#1355) --- src/server.sh | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/server.sh b/src/server.sh index 8c8d576..1382afc 100644 --- a/src/server.sh +++ b/src/server.sh @@ -136,23 +136,32 @@ startWebsocketServer() { return 1 fi - # Keep the sidecar alive briefly before accepting startup as successful, - # surfacing immediate bind or script failures with its captured log. local i - for (( i = 1; i <= 5; i++ )); do + for (( i = 1; i <= 50; i++ )); do if ! isAlive "$pid"; then - rm -f -- "$WSD_PID" + rm -f -- "$WSD_PID" "$WSD_SOCKET" [ -s "$WSD_LOG" ] && cat "$WSD_LOG" >&2 error "Failed to start websocket server!" return 1 fi + [ -S "$WSD_SOCKET" ] && return 0 + sleep 0.1 done - return 0 + pKill "$pid" 2 + + if isAlive "$pid"; then + kill -9 -- "$pid" 2>/dev/null || : + fi + + rm -f -- "$WSD_PID" "$WSD_SOCKET" + [ -s "$WSD_LOG" ] && cat "$WSD_LOG" >&2 + error "Websocket server did not create its socket!" + return 1 } prepareWebFiles