From 1818fff3c9b6284c5f0b19e6082e533e5682a570 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Wed, 23 Apr 2025 18:59:17 +0200 Subject: [PATCH] Chat List: Fix unconfirmed session error (#5853) --- src/components/left/main/ChatList.tsx | 12 +----------- src/components/left/main/UnconfirmedSession.tsx | 12 ++++++------ 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/src/components/left/main/ChatList.tsx b/src/components/left/main/ChatList.tsx index 854657404..d68633694 100644 --- a/src/components/left/main/ChatList.tsx +++ b/src/components/left/main/ChatList.tsx @@ -32,7 +32,6 @@ import { useHotkeys } from '../../../hooks/useHotkeys'; import useInfiniteScroll from '../../../hooks/useInfiniteScroll'; import { useIntersectionObserver } from '../../../hooks/useIntersectionObserver'; import useLastCallback from '../../../hooks/useLastCallback'; -import useShowTransition from '../../../hooks/useShowTransition'; import useOrderDiff from './hooks/useOrderDiff'; import InfiniteScroll from '../../ui/InfiniteScroll'; @@ -116,14 +115,6 @@ const ChatList: FC = ({ if (!shouldShowUnconfirmedSessions) setUnconfirmedSessionHeight(0); }, [shouldShowUnconfirmedSessions]); - const { - ref: sessionRef, - shouldRender, - } = useShowTransition({ - isOpen: shouldShowUnconfirmedSessions, - withShouldRender: true, - }); - // Support + to navigate between chats useHotkeys(useMemo(() => (isActive && orderedIds?.length ? { 'Alt+ArrowUp': (e: KeyboardEvent) => { @@ -257,10 +248,9 @@ const ChatList: FC = ({ onLoadMore={getMore} onDragLeave={handleDragLeave} > - {shouldRender && ( + {shouldShowUnconfirmedSessions && ( diff --git a/src/components/left/main/UnconfirmedSession.tsx b/src/components/left/main/UnconfirmedSession.tsx index 7169933de..6862ab463 100644 --- a/src/components/left/main/UnconfirmedSession.tsx +++ b/src/components/left/main/UnconfirmedSession.tsx @@ -1,5 +1,4 @@ -import type { RefObject } from '../../../lib/teact/teact'; -import React, { memo, useMemo } from '../../../lib/teact/teact'; +import React, { memo, useMemo, useRef } from '../../../lib/teact/teact'; import { getActions } from '../../../global'; import type { ApiSession } from '../../../api/types'; @@ -15,14 +14,15 @@ import styles from './UnconfirmedSession.module.scss'; type OwnProps = { sessions: Record; onHeightChange: (height: number) => void; - sessionRef: RefObject; }; -const UnconfirmedSession = ({ sessionRef, sessions, onHeightChange } : OwnProps) => { +const UnconfirmedSession = ({ sessions, onHeightChange } : OwnProps) => { const { changeSessionSettings, terminateAuthorization, showNotification } = getActions(); + // eslint-disable-next-line no-null/no-null + const ref = useRef(null); const lang = useOldLang(); - useResizeObserver(sessionRef, (entry) => { + useResizeObserver(ref, (entry) => { const height = entry.borderBoxSize?.[0]?.blockSize || entry.contentRect.height; onHeightChange(height); }); @@ -52,7 +52,7 @@ const UnconfirmedSession = ({ sessionRef, sessions, onHeightChange } : OwnProps) }); return ( -
+

{lang('UnconfirmedAuthTitle')}

{lang('UnconfirmedAuthSingle', locationString)}