From d711364d93af6250d4ef583e018a264ae1037ede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Troed=20S=C3=A5ngberg?= Date: Sat, 13 Jun 2026 23:22:51 +0200 Subject: [PATCH] fix: v0.0.47 - simplify n_decoded reset detection - Any drop in n_decoded means counter reset (cumulative counter) - Removed arbitrary -5 threshold, now uses delta < 0 - Zero delta now correctly detected as stall --- package.json | 2 +- tui.tsx | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 819b0a6..bbebfc2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@troed/oc-ls-stats", - "version": "0.0.46", + "version": "0.0.47", "type": "module", "exports": { "./tui": { diff --git a/tui.tsx b/tui.tsx index c31ddaf..72a28fe 100644 --- a/tui.tsx +++ b/tui.tsx @@ -394,20 +394,22 @@ const tui: TuiPlugin = async (api) => { if (tracker.generateSlotId === slotId) { if (tracker.generateCapturedDecoded !== null) { - const dt = (now - tracker.generateStartAt) / 1000 - const delta = nd - tracker.generateCapturedDecoded - if (dt > 0 && delta > 0) { - tracker.lastGeneratedTps = delta / dt - debug(`gen delta=${delta} dt=${dt.toFixed(2)} tps=${tracker.lastGeneratedTps.toFixed(1)}`) - } else if (delta < -5) { + if (nd < tracker.generateCapturedDecoded) { tracker.generateCapturedDecoded = nd tracker.generateStartAt = now tracker.lastGeneratedTps = 0 debug(`gen counter reset nd=${nd}`) - } else if (delta <= 0) { - tracker.lastGeneratedTps = 0 - genEnded = true - debug(`gen stalled delta=${delta}`) + } else { + const dt = (now - tracker.generateStartAt) / 1000 + const delta = nd - tracker.generateCapturedDecoded + if (dt > 0 && delta > 0) { + tracker.lastGeneratedTps = delta / dt + debug(`gen delta=${delta} dt=${dt.toFixed(2)} tps=${tracker.lastGeneratedTps.toFixed(1)}`) + } else if (delta === 0) { + tracker.lastGeneratedTps = 0 + genEnded = true + debug(`gen stalled delta=${delta}`) + } } } } else {