From 039b9888699347339a485a52fad0ad0dc25fc43f Mon Sep 17 00:00:00 2001 From: Gigi Date: Thu, 23 Oct 2025 00:42:08 +0200 Subject: [PATCH] fix(reading-position): prevent tracking from toggling on/off Added logic to properly disable tracking when isTextContent becomes false. This prevents the tracking state from flipping and ensures saves work consistently. Now tracking is only enabled once content is stable and stays enabled until the article changes or content becomes unsuitable. --- src/components/ContentPanel.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/ContentPanel.tsx b/src/components/ContentPanel.tsx index 39a3fb05..8a70e3f6 100644 --- a/src/components/ContentPanel.tsx +++ b/src/components/ContentPanel.tsx @@ -221,9 +221,18 @@ const ContentPanel: React.FC = ({ setIsTrackingEnabled(false) }, [selectedUrl]) - // Enable tracking after content is stable + // Enable/disable tracking based on content state useEffect(() => { - if (isTextContent && !isTrackingEnabled) { + if (!isTextContent) { + // Disable tracking if content is not suitable + if (isTrackingEnabled) { + console.log('[reading-position] ⏸️ Disabling tracking (not text content)') + setIsTrackingEnabled(false) + } + return + } + + if (!isTrackingEnabled) { // Wait 500ms after content loads before enabling tracking const timer = setTimeout(() => { console.log('[reading-position] ✅ Enabling tracking after stability delay')