From 43a2a4deaf42c1149e653dc20be56260d2d22fac Mon Sep 17 00:00:00 2001 From: HenryDu8133 <813367384@qq.com> Date: Sun, 2 Aug 2026 11:54:23 +0800 Subject: [PATCH] fix: Increase train pre-arrival debounce timeout to 5 minutes to prevent multiple broadcasts for fuzzy ETA --- station_broadcast.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/station_broadcast.lua b/station_broadcast.lua index 66d3c00..96a22c0 100644 --- a/station_broadcast.lua +++ b/station_broadcast.lua @@ -2,7 +2,7 @@ -- ============================================================================ -- 1. Configuration & Constants -- ============================================================================ -local APP_VERSION_TEXT = "v1.0.20" +local APP_VERSION_TEXT = "v1.0.21" local CONFIG = { CLOUD_URL = "ws://stabadmin.fse-media.group", @@ -2255,8 +2255,9 @@ function Main.loop() if etaVal == "1" or etaVal == "现在" then local announceKey = tName .. "_" .. dest local now = os.epoch("utc") - -- Prevent spamming: only announce once per minute per train - if not State.announcedApproaching[announceKey] or (now - State.announcedApproaching[announceKey] > 60000) then + -- Prevent spamming: CRN's "1 min" can be fuzzy and stay for a while. + -- We increase the cooldown to 5 minutes (300000 ms) per train per destination. + if not State.announcedApproaching[announceKey] or (now - State.announcedApproaching[announceKey] > 300000) then State.announcedApproaching[announceKey] = now Utils.log("INFO", "Train Approaching: " .. tName) Network.send({