From a611e99ff6cd048df6bff3f2b6b5328611740722 Mon Sep 17 00:00:00 2001 From: Gigi Date: Wed, 22 Oct 2025 23:53:50 +0200 Subject: [PATCH] fix(reading): only saveNow on unmount if tracking was enabled Prevents saving 0% position when navigating away before tracking starts. Now checks isTrackingEnabledRef before calling saveNow() in unmount effect. --- src/components/ContentPanel.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/components/ContentPanel.tsx b/src/components/ContentPanel.tsx index 4b3fff8e..77dad4c8 100644 --- a/src/components/ContentPanel.tsx +++ b/src/components/ContentPanel.tsx @@ -351,13 +351,20 @@ const ContentPanel: React.FC = ({ // Save position before unmounting or changing article const saveNowRef = useRef(saveNow) + const isTrackingEnabledRef = useRef(isTrackingEnabled) + useEffect(() => { saveNowRef.current = saveNow }, [saveNow]) + + useEffect(() => { + isTrackingEnabledRef.current = isTrackingEnabled + }, [isTrackingEnabled]) useEffect(() => { return () => { - if (saveNowRef.current) { + // Only save on unmount if tracking was actually enabled + if (saveNowRef.current && isTrackingEnabledRef.current) { saveNowRef.current() } }