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.
This commit is contained in:
Gigi
2025-10-22 23:33:31 +02:00
parent b282bc4972
commit 048e0d802b

View File

@@ -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