From 0f49115b23292f7e017786eb793ee66f9f68870d Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Wed, 2 Apr 2025 02:45:22 +0200 Subject: [PATCH] Keep rendered chapters on infinite scroll chapter change The changes from 642708b8b3476bd0b25c57a7af12df54361b0bc8 didn't consider the case were the chapter change was triggered due to scrolling to the unloaded previous/next chapter with infinite scroll --- src/modules/reader/services/ReaderControls.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/reader/services/ReaderControls.ts b/src/modules/reader/services/ReaderControls.ts index c7482af6..17f37bc9 100644 --- a/src/modules/reader/services/ReaderControls.ts +++ b/src/modules/reader/services/ReaderControls.ts @@ -239,8 +239,9 @@ export class ReaderControls { const isAlreadyLoaded = lastLeadingChapterSourceOrder <= chapterToOpen.sourceOrder && lastTrailingChapterSourceOrder >= chapterToOpen.sourceOrder; + const keepRenderedChapters = !scrollIntoView || isAlreadyLoaded; - if (isAlreadyLoaded) { + if (keepRenderedChapters) { setReaderStateChapters((prevState) => updateReaderStateVisibleChapters( isPreviousChapter, @@ -255,7 +256,7 @@ export class ReaderControls { openChapter(chapterToOpen, { resumeMode: getReaderOpenChapterResumeMode(isSpecificChapterMode, isPreviousChapter), - updateInitialChapter: !isAlreadyLoaded, + updateInitialChapter: !keepRenderedChapters, }); } catch (error) { defaultPromiseErrorHandler('ReaderControls#useOpenChapter#doOpenChapter:')(error);