aboutsummaryrefslogtreecommitdiffstats
path: root/web/dist/v3/assets/index-PqZwi-gF.js
Commit message (Collapse)AuthorAgeFilesLines
* fix: store sentinel IntersectionObserver in module-level variable to prevent GCClaude2026-02-171-0/+148
The load-more sentinel observer was assigned to a local `const observer` that fell out of scope after renderItems() returned. Without a persistent JS reference, engines can garbage-collect the observer, silently breaking infinite scroll (no more items loaded on scroll). Fix: assign to the existing module-level `itemObserver` variable, which is already disconnected/replaced at the top of each renderItems() call. Add three regression tests in regression.test.ts that use a class-based IntersectionObserver mock to capture the callback and verify: - sentinel visible → loadMore fires - sentinel visible while loading → loadMore suppressed - hasMore=false → no sentinel rendered, no loadMore https://claude.ai/code/session_01DpWhB9uGGMBnzqS28HxnuV