diff --git a/dom/observer-manager.ts b/dom/observer-manager.ts
index baf6f13..b70fb4b 100644
--- a/dom/observer-manager.ts
+++ b/dom/observer-manager.ts
@@ -49,7 +49,7 @@ export class ObserverManager {
// that the throttle can be lifted.
this.ensureUpdatedListener(wrapperElement);
- const sentinel = document.getElementById("scroll-sentinel");
+ const sentinel = wrapperElement.querySelector("[lvt-scroll-sentinel]");
if (!sentinel) {
// Sentinel removed (HasMore flipped false): release the old observer
// AND clear any in-flight load_more throttle. Without releaseLoadMore
diff --git a/tests/observer-manager.test.ts b/tests/observer-manager.test.ts
index 65b798a..45422a7 100644
--- a/tests/observer-manager.test.ts
+++ b/tests/observer-manager.test.ts
@@ -100,7 +100,7 @@ describe("ObserverManager", () => {
expect(mockSend).not.toHaveBeenCalled();
});
- it("does nothing if scroll-sentinel element is not found", () => {
+ it("does nothing if lvt-scroll-sentinel element is not found", () => {
document.body.innerHTML = "
";
mockContext = {
getWrapperElement: () => document.getElementById("wrapper"),
@@ -116,7 +116,7 @@ describe("ObserverManager", () => {
it("sets up IntersectionObserver when sentinel exists", () => {
document.body.innerHTML = `
`;
mockContext = {
@@ -136,7 +136,7 @@ describe("ObserverManager", () => {
it("reuses the existing observer when the sentinel is unchanged", () => {
document.body.innerHTML = `
`;
mockContext = {
@@ -162,7 +162,7 @@ describe("ObserverManager", () => {
const wrapper = document.createElement("div");
wrapper.id = "wrapper";
const sentinel = document.createElement("div");
- sentinel.id = "scroll-sentinel";
+ sentinel.setAttribute("lvt-scroll-sentinel", "");
wrapper.appendChild(sentinel);
document.body.appendChild(wrapper);
@@ -211,7 +211,7 @@ describe("ObserverManager", () => {
const wrapper = document.createElement("div");
wrapper.id = "wrapper";
const sentinel1 = document.createElement("div");
- sentinel1.id = "scroll-sentinel";
+ sentinel1.setAttribute("lvt-scroll-sentinel", "");
wrapper.appendChild(sentinel1);
document.body.appendChild(wrapper);
@@ -234,7 +234,7 @@ describe("ObserverManager", () => {
// Step 3: sentinel reappears.
const sentinel2 = document.createElement("div");
- sentinel2.id = "scroll-sentinel";
+ sentinel2.setAttribute("lvt-scroll-sentinel", "");
wrapper.appendChild(sentinel2);
manager.setupInfiniteScrollObserver();
@@ -250,7 +250,7 @@ describe("ObserverManager", () => {
const wrapper = document.createElement("div");
wrapper.id = "wrapper";
const sentinel = document.createElement("div");
- sentinel.id = "scroll-sentinel";
+ sentinel.setAttribute("lvt-scroll-sentinel", "");
wrapper.appendChild(sentinel);
document.body.appendChild(wrapper);
@@ -286,7 +286,7 @@ describe("ObserverManager", () => {
const wrapper = document.createElement("div");
wrapper.id = "wrapper";
const sentinel1 = document.createElement("div");
- sentinel1.id = "scroll-sentinel";
+ sentinel1.setAttribute("lvt-scroll-sentinel", "");
wrapper.appendChild(sentinel1);
document.body.appendChild(wrapper);
@@ -302,7 +302,7 @@ describe("ObserverManager", () => {
// the element on a structural transition).
sentinel1.remove();
const sentinel2 = document.createElement("div");
- sentinel2.id = "scroll-sentinel";
+ sentinel2.setAttribute("lvt-scroll-sentinel", "");
wrapper.appendChild(sentinel2);
manager.setupInfiniteScrollObserver();
@@ -376,7 +376,7 @@ describe("ObserverManager", () => {
it("disconnects all observers", () => {
document.body.innerHTML = `
`;
mockContext = {
@@ -410,7 +410,7 @@ describe("ObserverManager", () => {
it("is safe to call multiple times", () => {
document.body.innerHTML = `
`;
mockContext = {