diff --git a/web/modules/custom/figli_compta_ledger/js/home.js b/web/modules/custom/figli_compta_ledger/js/home.js index 32ba520..2b2ce48 100644 --- a/web/modules/custom/figli_compta_ledger/js/home.js +++ b/web/modules/custom/figli_compta_ledger/js/home.js @@ -1013,13 +1013,19 @@ this.loadCurrentYearTotals(); } }, + // No requestAnimationFrame throttle here anymore -- it used a + // "skip if a frame is already pending" guard reset from *inside* + // the rAF callback, which meant a single rAF callback that never + // fires (observed: a backgrounded/non-visible tab, where browsers + // routinely throttle or fully suspend rAF) permanently wedges the + // guard true, silently dropping every future scroll event forever + // -- exactly the "loads once then stops, can't scroll back" bug + // this replaces. detectCurrentYear()/checkEdges() are cheap (DOM + // reads + early-return guards, no work of their own), so calling + // them on every scroll event costs nothing worth throttling for. onScroll() { - if (this._scrollRaf) return; - this._scrollRaf = requestAnimationFrame(() => { - this._scrollRaf = null; - this.detectCurrentYear(); - this.checkEdges(); - }); + this.detectCurrentYear(); + this.checkEdges(); }, // mounted() only runs once, but `v-if="loading"` swaps out the //