From fdf4aa4edc6718342e2456b2d9ac40e99670294d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Troed=20S=C3=A5ngberg?= Date: Sat, 13 Jun 2026 23:08:00 +0200 Subject: [PATCH] fix: v0.0.42 - clear TPS when generation ends or stalls - Clear lastGeneratedTps when n_decoded delta <= 0 (generation stalled) - Clear lastGeneratedTps and bump display when slot stops generating - Fix genEnded scoping (moved outside for loop) - Bump display when generation ends so TPS returns to ---- --- package.json | 2 +- tui.tsx | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index bad9f97..80c4236 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.41", + "version": "0.0.42", "type": "module", "exports": { "./tui": { diff --git a/tui.tsx b/tui.tsx index b074c34..8b23310 100644 --- a/tui.tsx +++ b/tui.tsx @@ -328,6 +328,7 @@ const tui: TuiPlugin = async (api) => { let anyPrefilling = false let anyGenerating = false + let genEnded = false for (const baseUrl of llamaServerUrls) { const slots = await fetchSlots(baseUrl, model) @@ -386,6 +387,9 @@ const tui: TuiPlugin = async (api) => { const delta = nd - tracker.generateCapturedDecoded if (dt > 0 && delta > 0) { tracker.lastGeneratedTps = delta / dt + } else if (delta <= 0) { + tracker.lastGeneratedTps = 0 + genEnded = true } } } else { @@ -399,6 +403,8 @@ const tui: TuiPlugin = async (api) => { tracker.generateSlotId = null tracker.generateCapturedDecoded = null tracker.generateStartAt = 0 + tracker.lastGeneratedTps = 0 + genEnded = true } } @@ -406,7 +412,7 @@ const tui: TuiPlugin = async (api) => { tracker.isGenerating = anyGenerating } - if (tracker.lastPrefillRate > 0 || tracker.lastGeneratedTps > 0) { + if (tracker.lastPrefillRate > 0 || tracker.lastGeneratedTps > 0 || genEnded) { bump() } }