diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-17 08:42:00 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-17 08:42:00 -0800 |
| commit | ee7896ab4fb183850e94307b057e3fe1a67610ca (patch) | |
| tree | 3f19efc1c79acd3143730b9d677fc2d921e22644 /frontend-vanilla/src/main.ts | |
| parent | 5c3b6234caf8b6c27f37d67d4e04c853e59888ef (diff) | |
| parent | 90177f1645bf886a2e4f84f4db287ba379f01773 (diff) | |
| download | neko-ee7896ab4fb183850e94307b057e3fe1a67610ca.tar.gz neko-ee7896ab4fb183850e94307b057e3fe1a67610ca.tar.bz2 neko-ee7896ab4fb183850e94307b057e3fe1a67610ca.zip | |
Merge pull request #10 from adammathes/claude/fix-open-tickets-IVV1C
fix: store sentinel IntersectionObserver in module-level variable to …
Diffstat (limited to 'frontend-vanilla/src/main.ts')
| -rw-r--r-- | frontend-vanilla/src/main.ts | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/frontend-vanilla/src/main.ts b/frontend-vanilla/src/main.ts index 5f8056c..bdd0e97 100644 --- a/frontend-vanilla/src/main.ts +++ b/frontend-vanilla/src/main.ts @@ -270,15 +270,15 @@ export function renderItems() { // Use the actual scroll container as IntersectionObserver root const scrollRoot = document.getElementById('main-content'); - // Setup infinite scroll + // Setup infinite scroll — stored in itemObserver so it has a GC root and won't be collected const sentinel = document.getElementById('load-more-sentinel'); if (sentinel) { - const observer = new IntersectionObserver((entries) => { + itemObserver = new IntersectionObserver((entries) => { if (entries[0].isIntersecting && !store.loading && store.hasMore) { loadMore(); } }, { root: scrollRoot, threshold: 0.1 }); - observer.observe(sentinel); + itemObserver.observe(sentinel); } // Scroll listener for reading items |
