diff --git a/src/components/middle/MessageScroll.tsx b/src/components/middle/MessageScroll.tsx index 7b7ff9fc0..324d438dd 100644 --- a/src/components/middle/MessageScroll.tsx +++ b/src/components/middle/MessageScroll.tsx @@ -1,5 +1,7 @@ import { MutableRefObject } from 'react'; -import React, { FC, useCallback, useRef } from '../../lib/teact/teact'; +import React, { + FC, useCallback, useEffect, useRef, +} from '../../lib/teact/teact'; import { MESSAGE_LIST_SENSITIVE_AREA } from '../../config'; import resetScroll from '../../util/resetScroll'; @@ -113,6 +115,7 @@ const MessageScroll: FC = ({ useOnIntersect(fabTriggerRef, observeIntersectionForFab); + // Remember scroll position before updating height useOnChange(() => { if (!listItemElementsRef.current) { return; @@ -132,6 +135,8 @@ const MessageScroll: FC = ({ anchorTopRef.current = anchor.getBoundingClientRect().top; }, [messageIds, containerHeight]); + useEffect(updateFabVisibility, [firstUnreadId]); + return (