From 3cac26c1fa3a292e05dfde642c638be27b54f456 Mon Sep 17 00:00:00 2001 From: Git Agent Date: Wed, 26 Aug 2026 11:59:29 +0200 Subject: [PATCH] =?UTF-8?q?fix(web):=20lecteurs=20CBZ/CBR=20et=20PDF=20?= =?UTF-8?q?=E2=80=94=20=C3=A9valuer=20la=20capacit=C3=A9=20de=20d=C3=A9fil?= =?UTF-8?q?ement=20du=20cadre=20=C3=A0=20chaque=20frame=20de=20la=20sync?= =?UTF-8?q?=20initiale=20au=20lieu=20d'abandonner=20avant=20rendu=20du=20c?= =?UTF-8?q?ontenu=20(6e=20correctif=20bug=20#39)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/src/reader/CbzReader.tsx | 3 +-- apps/web/src/reader/PdfReader.tsx | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/web/src/reader/CbzReader.tsx b/apps/web/src/reader/CbzReader.tsx index 7e82fc3..d1de4f4 100644 --- a/apps/web/src/reader/CbzReader.tsx +++ b/apps/web/src/reader/CbzReader.tsx @@ -115,13 +115,12 @@ export function CbzReader({ const scheduleInitialVisibleSync = useCallback( (stage: HTMLElement) => { clearVerticalInitialSync(); - if (!(stage.scrollHeight > stage.clientHeight)) return; verticalInitialSyncAttemptRef.current = 0; const sync = () => { verticalInitialSyncFrameRef.current = null; if (verticalUserScrollRef.current || verticalInitialSyncDoneRef.current) return; - if (verticalTrackingReadyRef.current && stage.scrollTop > Math.max(32, stage.clientHeight * 0.5)) { + if (verticalTrackingReadyRef.current && stage.scrollHeight > stage.clientHeight && stage.scrollTop > Math.max(32, stage.clientHeight * 0.5)) { commitVisiblePage(stage, true); } verticalInitialSyncAttemptRef.current += 1; diff --git a/apps/web/src/reader/PdfReader.tsx b/apps/web/src/reader/PdfReader.tsx index d4b53ec..8996bc1 100644 --- a/apps/web/src/reader/PdfReader.tsx +++ b/apps/web/src/reader/PdfReader.tsx @@ -211,13 +211,12 @@ export function PdfReader({ url, page, backHref, zoom, mode, onPageCommit, onCon const scheduleInitialVisibleSync = useCallback( (stage: HTMLElement) => { clearVerticalInitialSync(); - if (!(stage.scrollHeight > stage.clientHeight)) return; verticalInitialSyncAttemptRef.current = 0; const sync = () => { verticalInitialSyncFrameRef.current = null; if (verticalUserScrollRef.current || verticalInitialSyncDoneRef.current) return; - if (verticalTrackingReadyRef.current && stage.scrollTop > Math.max(32, stage.clientHeight * 0.5)) { + if (verticalTrackingReadyRef.current && stage.scrollHeight > stage.clientHeight && stage.scrollTop > Math.max(32, stage.clientHeight * 0.5)) { commitVisiblePage(stage, true); } verticalInitialSyncAttemptRef.current += 1;