From e1e5f8f91d46f32630f1b770795d43a9adebdee4 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 17 Oct 2025 12:07:13 +0200 Subject: [PATCH] fix: Validate status messages (#1077) --- src/socket.sh | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/socket.sh b/src/socket.sh index cc91de9..5a4007c 100644 --- a/src/socket.sh +++ b/src/socket.sh @@ -1,16 +1,31 @@ #!/usr/bin/env bash set -Eeuo pipefail +lastmsg="" path="/run/shm/msg.html" -if [ -f "$path" ] && [ -s "$path" ]; then - echo -n "s: " && cat "$path" -fi +refresh() { + + [ ! -f "$path" ] && return 0 + [ ! -s "$path" ] && return 0 + + msg=$(< "$path") + msg="${msg%$'\n'}" + + [ -z "$msg" ] && return 0 + [[ "$msg" == "$lastmsg" ]] && return 0 + + lastmsg="$msg" + echo "s: $msg" + return 0 +} + +refresh inotifywait -m "$path" | while read -r fp event fn; do case "${event,,}" in - "modify"* ) echo -n "s: " && cat "$path" ;; + "modify"* ) refresh ;; "delete_self" ) echo "c: vnc" ;; esac done