diff --git a/lib/shared/search-utils.js b/lib/shared/search-utils.js --- a/lib/shared/search-utils.js +++ b/lib/shared/search-utils.js @@ -254,10 +254,7 @@ ]); const viewerID = useSelector(state => state.currentUserInfo?.id); - const [sortedMembers, setSortedMembers] = React.useState< - Omit[], - >([]); - React.useEffect(() => { + const sortedMembers = React.useMemo(() => { const nonFriends = []; const blockedUsers = []; const friends = []; @@ -288,7 +285,7 @@ .concat(nonFriends) .concat(blockedUsers); - const mappedResult = sortedResults.map( + return sortedResults.map( ({ isMemberOfContainingThread, isMemberOfParentThread, @@ -351,15 +348,13 @@ return result; }, ); - setSortedMembers(mappedResult); }, [ containingThreadInfo, filteredUserResults, + isFarcasterDCsIntegrationEnabled, parentThreadInfo, threadType, viewerID, - auxUserInfos, - isFarcasterDCsIntegrationEnabled, ]); const usersSupportFarcasterDCs = useUsersSupportFarcasterDCs(); diff --git a/native/chat/chat.react.js b/native/chat/chat.react.js --- a/native/chat/chat.react.js +++ b/native/chat/chat.react.js @@ -75,7 +75,6 @@ NUXTipsContext, } from '../components/nux-tips-context.react.js'; import ProtocolIcon from '../components/protocol-icon.react.js'; -import { ProtocolSelectionProvider } from '../components/protocol-selection-provider.react.js'; import { InputStateContext } from '../input/input-state.js'; import CommunityDrawerButton from '../navigation/community-drawer-button.react.js'; import HeaderBackButton from '../navigation/header-back-button.react.js'; @@ -523,70 +522,68 @@ const activeThreadID = activeThreadSelector(navContext); return ( - - - - - - - - - - - - - - - - - - - {draftUpdater} - - + + + + + + + + + + + + + + + + + + {draftUpdater} + ); } diff --git a/native/chat/settings/add-users-modal.react.js b/native/chat/settings/add-users-modal.react.js --- a/native/chat/settings/add-users-modal.react.js +++ b/native/chat/settings/add-users-modal.react.js @@ -77,7 +77,10 @@ }, [goBackOnce]); const callChangeThreadSettings = useChangeThreadSettings(); - const userInfoInputIDs = userInfoInputArray.map(userInfo => userInfo.id); + const userInfoInputIDs = React.useMemo( + () => userInfoInputArray.map(userInfo => userInfo.id), + [userInfoInputArray], + ); const { route } = props; const { threadInfo } = route.params; diff --git a/native/root.react.js b/native/root.react.js --- a/native/root.react.js +++ b/native/root.react.js @@ -73,6 +73,7 @@ import NonKeyserverActivityHandler from './components/non-keyserver-activity-handler.react.js'; import { NUXTipsContextProvider } from './components/nux-tips-context.react.js'; import PersistedStateGate from './components/persisted-state-gate.js'; +import { ProtocolSelectionProvider } from './components/protocol-selection-provider.react.js'; import ReportHandler from './components/report-handler.react.js'; import VersionSupportedChecker from './components/version-supported.react.js'; import ConnectedStatusBar from './connected-status-bar.react.js'; @@ -341,7 +342,9 @@ - + + +