From 048e0d802b61f7ca9c87bc917fbe1ea139274e5c Mon Sep 17 00:00:00 2001 From: Gigi Date: Wed, 22 Oct 2025 23:33:31 +0200 Subject: [PATCH] fix(reading): make saveNow respect suppression flag saveNow() was bypassing suppression, causing 0% to overwrite saved positions during restore. Now checks suppressUntilRef before saving, just like the debounced auto-save. --- src/hooks/useReadingPosition.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/hooks/useReadingPosition.ts b/src/hooks/useReadingPosition.ts index 81b5fd6a..7b77bcd4 100644 --- a/src/hooks/useReadingPosition.ts +++ b/src/hooks/useReadingPosition.ts @@ -85,6 +85,14 @@ export const useReadingPosition = ({ // Immediate save function const saveNow = useCallback(() => { if (!syncEnabled || !onSave) return + + // Check suppression even for saveNow (e.g., during restore) + if (Date.now() < suppressUntilRef.current) { + const remainingMs = suppressUntilRef.current - Date.now() + console.log(`[reading-position] [${new Date().toISOString()}] ⏭️ saveNow() suppressed (${remainingMs}ms remaining) at ${Math.round(position * 100)}%`) + return + } + if (saveTimerRef.current) { clearTimeout(saveTimerRef.current) saveTimerRef.current = null