From bc4eb3606afbbc4b54fbb3b4ef81badd06cde525 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Mon, 13 Jul 2026 19:26:52 +0530 Subject: refactor: using observeDOM instead of a separate login MutationObserver using the observeDOM which serves as a common MutationObserver for all scripts, mainly to improve performance. --- src/shared/observe-dom.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/shared/observe-dom.ts') diff --git a/src/shared/observe-dom.ts b/src/shared/observe-dom.ts index 90a52ff..6ba1db4 100644 --- a/src/shared/observe-dom.ts +++ b/src/shared/observe-dom.ts @@ -1,7 +1,6 @@ type ObserveDOMCallback = () => boolean; -let callbacks: (ObserveDOMCallback | null)[] = []; -let callbacksCalledCount = 0; +let callbacks: ObserveDOMCallback[] = []; /** * Starts a MutationObserver on the document that invokes each @@ -13,11 +12,10 @@ const observer = new MutationObserver(() => { for (let i = 0; i < callbacks.length; i++) { const callback = callbacks[i]; if (callback && callback()) { - callbacksCalledCount++; - callbacks[i] = null; + callbacks.splice(i, 1); } - if (callbacksCalledCount >= callbacks.length) { + if (callbacks.length <= 0) { observer.disconnect(); break; -- cgit v1.2.3