diff --git a/CHANGELOG.md b/CHANGELOG.md index 7654f327..bd011cd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,7 +58,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - (**Reader**) Fix chapter not getting marked as read in continuous reading mode in case the last page is not big enough to get marked as the current page - (**Reader**) Fix infinite scrolling sometimes not opening previous/next chapter - (**Reader**) Fix infinite scroll immediately opening previous chapter with disabled transition page when opening reader -- (**Reader**) Fix preserving scroll position with RTL reading direction and a language that is read RTL +- (**Reader**) Fix preserving scroll position - (**Reader**) Fix missing gap between chapters in continuous vertical and horizontal reading modes with disabled transition page - (**Browse**) Fix showing only nsfw sources in the browse source page when the "show nsfw" setting is disabled - (**Manga/Library**) Fix mark as read/unread option not being disabled for manga without any chapters diff --git a/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts b/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts index df2082c4..4162dfc0 100644 --- a/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts +++ b/src/features/reader/viewer/hooks/useReaderPreserveScrollPosition.ts @@ -164,10 +164,14 @@ const useScrollPreservationData = ( updateObservation(entry.removedNodes, (element) => intersectionObserver.unobserve(element)); } }); + mutationObserver.observe(scrollElement, { childList: true, subtree: true, }); + + updateObservation(scrollElement.childNodes, (element) => intersectionObserver.observe(element)); + return () => { mutationObserver.disconnect(); intersectionObserver.disconnect(); @@ -253,6 +257,8 @@ const usePreserveOnLeadingPageRender = ( subtree: true, }); + updateObservation(scrollElement.childNodes, (element) => resizeObserver.observe(element)); + return () => { mutationObserver.disconnect(); resizeObserver.disconnect(); @@ -347,6 +353,8 @@ const usePreserveOnInfiniteScrollPreviousChapterInitialRender = ( subtree: true, }); + updateObservation(scrollElement.childNodes, (element) => resizeObserver.observe(element)); + return () => { mutationObserver.disconnect(); resizeObserver.disconnect();