From f19d1bc668873bc094b166b939d35b52f54de785 Mon Sep 17 00:00:00 2001 From: Davide Mendolia Date: Sat, 23 May 2026 18:10:36 +0200 Subject: [PATCH] fix: clear stale peaks before decoding a new source Reset peaks to null immediately when an uncached URL is set, so the previous video's waveform is not shown during decode. Also clear on decode failure so stale data does not persist indefinitely. Co-Authored-By: Claude Sonnet 4.6 --- src/hooks/useAudioPeaks.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/hooks/useAudioPeaks.ts b/src/hooks/useAudioPeaks.ts index 18de90a5..38875370 100644 --- a/src/hooks/useAudioPeaks.ts +++ b/src/hooks/useAudioPeaks.ts @@ -70,6 +70,7 @@ export function useAudioPeaks(videoUrl?: string): Float32Array | null { return; } + setPeaks(null); let cancelled = false; (async () => { @@ -83,7 +84,8 @@ export function useAudioPeaks(videoUrl?: string): Float32Array | null { cacheRef.current.set(videoUrl, p); setPeaks(p); } catch { - // No audio track or unsupported format — silent degradation. + // No audio track or unsupported format — clear stale data silently. + if (!cancelled) setPeaks(null); } })();