fix: timeout leak in useIdle (#12908)

This commit is contained in:
Tom Moor
2026-07-06 16:13:47 -04:00
committed by GitHub
parent a60373118c
commit 3cc39e61c0
+9
View File
@@ -53,7 +53,16 @@ export default function useIdle(
events.forEach((eventName) =>
window.addEventListener(eventName, handleUserActivityEvent)
);
// Start the countdown immediately, otherwise the user is never considered
// idle unless activity occurs after mount.
onActivity();
return () => {
handleUserActivityEvent.cancel();
if (timeout.current) {
clearTimeout(timeout.current);
}
events.forEach((eventName) =>
window.removeEventListener(eventName, handleUserActivityEvent)
);