From 59cc5f0cd1d28d05cf60424895ed1f1bab09370a Mon Sep 17 00:00:00 2001 From: krishna2323 Date: Thu, 24 Jul 2025 02:33:39 +0530 Subject: [PATCH 1/2] fix: Chat -Skeleton loading when open start chat page. Signed-off-by: krishna2323 --- src/pages/NewChatPage.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/pages/NewChatPage.tsx b/src/pages/NewChatPage.tsx index 06b83b0d9e5b..40c7e9b5544a 100755 --- a/src/pages/NewChatPage.tsx +++ b/src/pages/NewChatPage.tsx @@ -1,3 +1,4 @@ +import {useFocusEffect} from '@react-navigation/native'; import isEmpty from 'lodash/isEmpty'; import reject from 'lodash/reject'; import React, {forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState} from 'react'; @@ -18,7 +19,6 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useOnyx from '@hooks/useOnyx'; import useSafeAreaInsets from '@hooks/useSafeAreaInsets'; -import useScreenWrapperTransitionStatus from '@hooks/useScreenWrapperTransitionStatus'; import useThemeStyles from '@hooks/useThemeStyles'; import {navigateToAndOpenReport, searchInServer, setGroupDraft} from '@libs/actions/Report'; import {canUseTouchScreen} from '@libs/DeviceCapabilities'; @@ -55,7 +55,9 @@ function useOptions() { const [betas] = useOnyx(ONYXKEYS.BETAS, {canBeMissing: true}); const [newGroupDraft] = useOnyx(ONYXKEYS.NEW_GROUP_CHAT_DRAFT, {canBeMissing: true}); const personalData = useCurrentUserPersonalDetails(); - const {didScreenTransitionEnd} = useScreenWrapperTransitionStatus(); + const focusTimeoutRef = useRef(null); + const [didScreenTransitionEnd, setDidScreenTransitionEnd] = useState(false); + const {options: listOptions, areOptionsInitialized} = useOptionsList({ shouldInitialize: didScreenTransitionEnd, }); @@ -93,6 +95,16 @@ function useOptions() { ); }, [cleanSearchTerm, debouncedSearchTerm, options.personalDetails.length, options.recentReports.length, options.userToInvite, selectedOptions]); + useFocusEffect( + useCallback(() => { + focusTimeoutRef.current = setTimeout(() => { + setDidScreenTransitionEnd(true); + }, CONST.ANIMATED_TRANSITION); + + return () => focusTimeoutRef.current && clearTimeout(focusTimeoutRef.current); + }, []), + ); + useEffect(() => { if (!debouncedSearchTerm.length) { return; From 96eccff3898ee38ef02435e8aac8d116454c369f Mon Sep 17 00:00:00 2001 From: krishna2323 Date: Sun, 3 Aug 2025 16:43:09 +0530 Subject: [PATCH 2/2] fix failing test. Signed-off-by: krishna2323 --- tests/ui/NewChatPageTest.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ui/NewChatPageTest.tsx b/tests/ui/NewChatPageTest.tsx index a40402c0c4dc..15596a2611d2 100644 --- a/tests/ui/NewChatPageTest.tsx +++ b/tests/ui/NewChatPageTest.tsx @@ -76,7 +76,7 @@ describe('NewChatPage', () => { }); const spy = jest.spyOn(SectionList.prototype, 'scrollToLocation'); - const addButton = screen.getAllByText(translateLocal('newChatPage.addToGroup')).at(0); + const addButton = await waitFor(() => screen.getAllByText(translateLocal('newChatPage.addToGroup')).at(0)); if (addButton) { fireEvent.press(addButton); expect(spy).toHaveBeenCalledWith(expect.objectContaining({itemIndex: 0}));