From 8907bfd6b67886ab1509269e9adbd09ecaa452eb Mon Sep 17 00:00:00 2001 From: jevb Date: Wed, 1 Apr 2026 18:12:12 +0200 Subject: [PATCH] fix: clear qualityDebounceTimer on connectionStats stop (BUG-071B) The quality debounce timer could fire after the stats poller was stopped, calling listeners against a dead room. Sub-issues A (autoplay listener) and C (VAD timer) were already fixed in prior work. --- Client/tauri-client/src/lib/connectionStats.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Client/tauri-client/src/lib/connectionStats.ts b/Client/tauri-client/src/lib/connectionStats.ts index 38c11f6f..b252a25a 100644 --- a/Client/tauri-client/src/lib/connectionStats.ts +++ b/Client/tauri-client/src/lib/connectionStats.ts @@ -190,6 +190,12 @@ export function createConnectionStatsPoller(getRoom: () => Room | null): Connect log.info("Stopping connection stats poller"); clearInterval(intervalId); intervalId = null; + // BUG-071B: Clear pending quality debounce timer to prevent it firing + // after the poller is stopped (would call listeners against a dead room). + if (qualityDebounceTimer !== null) { + clearTimeout(qualityDebounceTimer); + qualityDebounceTimer = null; + } current = EMPTY_STATS; prev = { timestamp: Date.now(), outBytes: 0, inBytes: 0 }; }