From 0d8b33aee3ab948c9cf778a154f7bf54fde3eb63 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Thu, 16 Jul 2026 13:56:58 +0200 Subject: [PATCH] fix(event): fix stale callbacks --- src/events.web.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/events.web.tsx b/src/events.web.tsx index 8558afa..67091f6 100644 --- a/src/events.web.tsx +++ b/src/events.web.tsx @@ -108,18 +108,16 @@ export const useEvent = ( prevRef.current = value; }, [value, config]); - // prev/next are triggered by the app (or the media session) rather than the - // media element useEffect(() => { + // don't use callbackRef.current directly to keep future callback updates + const cb = () => (callbackRef.current as () => void)(); if (event === "prev") { - const cb = callbackRef.current as () => void; player.onPrev.add(cb); return () => { player.onPrev.delete(cb); }; } if (event === "next") { - const cb = callbackRef.current as () => void; player.onNext.add(cb); return () => { player.onNext.delete(cb);