From e56461a43cca5ee151d97234c1a177c3e823800f Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Thu, 19 Sep 2024 20:43:51 +0200 Subject: [PATCH] [Perf] `useSharedIntersectionObserver`: Consider heavy animation (follow-up) --- src/hooks/useSharedIntersectionObserver.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hooks/useSharedIntersectionObserver.ts b/src/hooks/useSharedIntersectionObserver.ts index 8a4b96cd5..edde9a1cf 100644 --- a/src/hooks/useSharedIntersectionObserver.ts +++ b/src/hooks/useSharedIntersectionObserver.ts @@ -2,6 +2,7 @@ import { getIsHeavyAnimating, useEffect } from '../lib/teact/teact'; import type { CallbackManager } from '../util/callbacks'; +import { requestMeasure } from '../lib/fasterdom/fasterdom'; import { createCallbackManager } from '../util/callbacks'; import useLastCallback from './useLastCallback'; @@ -41,7 +42,9 @@ export default function useSharedIntersectionObserver( if (!getIsHeavyAnimating()) { flush(); } else { - getIsHeavyAnimating.once(flush); + getIsHeavyAnimating.once(() => { + requestMeasure(flush); + }); } };