diff --git a/native/chat/chat-thread-list-item.react.js b/native/chat/chat-thread-list-item.react.js
--- a/native/chat/chat-thread-list-item.react.js
+++ b/native/chat/chat-thread-list-item.react.js
@@ -4,7 +4,7 @@
 import { Text, View } from 'react-native';
 
 import type { ChatThreadItem } from 'lib/selectors/chat-selectors.js';
-import type { LegacyThreadInfo } from 'lib/types/thread-types.js';
+import type { ThreadInfo } from 'lib/types/thread-types.js';
 import type { UserInfo } from 'lib/types/user-types.js';
 import { shortAbsoluteDate } from 'lib/utils/date-utils.js';
 import { useResolvedThreadInfo } from 'lib/utils/entity-helpers.js';
@@ -23,11 +23,11 @@
 type Props = {
   +data: ChatThreadItem,
   +onPressItem: (
-    threadInfo: LegacyThreadInfo,
+    threadInfo: ThreadInfo,
     pendingPersonalThreadUserInfo?: UserInfo,
   ) => void,
-  +onPressSeeMoreSidebars: (threadInfo: LegacyThreadInfo) => void,
-  +onSwipeableWillOpen: (threadInfo: LegacyThreadInfo) => void,
+  +onPressSeeMoreSidebars: (threadInfo: ThreadInfo) => void,
+  +onSwipeableWillOpen: (threadInfo: ThreadInfo) => void,
   +currentlyOpenedSwipeableId: string,
 };
 function ChatThreadListItem({
diff --git a/native/chat/chat-thread-list-see-more-sidebars.react.js b/native/chat/chat-thread-list-see-more-sidebars.react.js
--- a/native/chat/chat-thread-list-see-more-sidebars.react.js
+++ b/native/chat/chat-thread-list-see-more-sidebars.react.js
@@ -4,16 +4,16 @@
 import * as React from 'react';
 import { Text } from 'react-native';
 
-import type { LegacyThreadInfo } from 'lib/types/thread-types.js';
+import type { ThreadInfo } from 'lib/types/thread-types.js';
 
 import { sidebarHeight } from './sidebar-item.react.js';
 import Button from '../components/button.react.js';
 import { useColors, useStyles } from '../themes/colors.js';
 
 type Props = {
-  +threadInfo: LegacyThreadInfo,
+  +threadInfo: ThreadInfo,
   +unread: boolean,
-  +onPress: (threadInfo: LegacyThreadInfo) => void,
+  +onPress: (threadInfo: ThreadInfo) => void,
 };
 function ChatThreadListSeeMoreSidebars(props: Props): React.Node {
   const { onPress, threadInfo, unread } = props;
diff --git a/native/chat/chat-thread-list-sidebar.react.js b/native/chat/chat-thread-list-sidebar.react.js
--- a/native/chat/chat-thread-list-sidebar.react.js
+++ b/native/chat/chat-thread-list-sidebar.react.js
@@ -3,7 +3,7 @@
 import * as React from 'react';
 import { View } from 'react-native';
 
-import type { LegacyThreadInfo, SidebarInfo } from 'lib/types/thread-types.js';
+import type { SidebarInfo, ThreadInfo } from 'lib/types/thread-types.js';
 
 import { SidebarItem, sidebarHeight } from './sidebar-item.react.js';
 import SwipeableThread from './swipeable-thread.react.js';
@@ -15,8 +15,8 @@
 
 type Props = {
   +sidebarInfo: SidebarInfo,
-  +onPressItem: (threadInfo: LegacyThreadInfo) => void,
-  +onSwipeableWillOpen: (threadInfo: LegacyThreadInfo) => void,
+  +onPressItem: (threadInfo: ThreadInfo) => void,
+  +onSwipeableWillOpen: (threadInfo: ThreadInfo) => void,
   +currentlyOpenedSwipeableId: string,
   +extendArrow: boolean,
 };
diff --git a/native/chat/chat-thread-list.react.js b/native/chat/chat-thread-list.react.js
--- a/native/chat/chat-thread-list.react.js
+++ b/native/chat/chat-thread-list.react.js
@@ -32,7 +32,7 @@
   useThreadListSearch,
 } from 'lib/shared/thread-utils.js';
 import { threadTypes } from 'lib/types/thread-types-enum.js';
-import type { LegacyThreadInfo, ThreadInfo } from 'lib/types/thread-types.js';
+import type { ThreadInfo } from 'lib/types/thread-types.js';
 import type { UserInfo } from 'lib/types/user-types.js';
 
 import { ChatThreadListItem } from './chat-thread-list-item.react.js';
@@ -186,7 +186,7 @@
   );
 
   const onPressSeeMoreSidebars = React.useCallback(
-    (threadInfo: LegacyThreadInfo) => {
+    (threadInfo: ThreadInfo) => {
       onChangeSearchText('');
       if (searchInputRef.current) {
         searchInputRef.current.blur();
diff --git a/native/chat/compose-subchannel.react.js b/native/chat/compose-subchannel.react.js
--- a/native/chat/compose-subchannel.react.js
+++ b/native/chat/compose-subchannel.react.js
@@ -20,7 +20,7 @@
 import { getPotentialMemberItems } from 'lib/shared/search-utils.js';
 import { threadInFilterList, userIsMember } from 'lib/shared/thread-utils.js';
 import { type ThreadType, threadTypes } from 'lib/types/thread-types-enum.js';
-import type { ThreadInfo, LegacyThreadInfo } from 'lib/types/thread-types.js';
+import type { ThreadInfo } from 'lib/types/thread-types.js';
 import { type AccountUserInfo } from 'lib/types/user-types.js';
 import { useDispatchActionPromise } from 'lib/utils/action-utils.js';
 
@@ -222,26 +222,25 @@
     ],
   );
 
-  const existingThreads: $ReadOnlyArray<LegacyThreadInfo> =
-    React.useMemo(() => {
-      if (userInfoInputIDs.length === 0) {
-        return [];
-      }
-      return _flow(
-        _filter(
-          (threadInfo: ThreadInfo) =>
-            threadInFilterList(threadInfo) &&
-            threadInfo.parentThreadID === parentThreadInfo.id &&
-            userInfoInputIDs.every(userID => userIsMember(threadInfo, userID)),
-        ),
-        _sortBy(
-          ([
-            'members.length',
-            (threadInfo: ThreadInfo) => (threadInfo.name ? 1 : 0),
-          ]: $ReadOnlyArray<string | ((threadInfo: ThreadInfo) => mixed)>),
-        ),
-      )(threadInfos);
-    }, [userInfoInputIDs, threadInfos, parentThreadInfo]);
+  const existingThreads: $ReadOnlyArray<ThreadInfo> = React.useMemo(() => {
+    if (userInfoInputIDs.length === 0) {
+      return [];
+    }
+    return _flow(
+      _filter(
+        (threadInfo: ThreadInfo) =>
+          threadInFilterList(threadInfo) &&
+          threadInfo.parentThreadID === parentThreadInfo.id &&
+          userInfoInputIDs.every(userID => userIsMember(threadInfo, userID)),
+      ),
+      _sortBy(
+        ([
+          'members.length',
+          (threadInfo: ThreadInfo) => (threadInfo.name ? 1 : 0),
+        ]: $ReadOnlyArray<string | ((threadInfo: ThreadInfo) => mixed)>),
+      ),
+    )(threadInfos);
+  }, [userInfoInputIDs, threadInfos, parentThreadInfo]);
 
   const navigateToThread = useNavigateToThread();
   const onSelectExistingThread = React.useCallback(
diff --git a/native/chat/sidebar-list-modal.react.js b/native/chat/sidebar-list-modal.react.js
--- a/native/chat/sidebar-list-modal.react.js
+++ b/native/chat/sidebar-list-modal.react.js
@@ -4,7 +4,7 @@
 import { View } from 'react-native';
 
 import { useSearchSidebars } from 'lib/hooks/search-threads.js';
-import type { LegacyThreadInfo, SidebarInfo } from 'lib/types/thread-types.js';
+import type { SidebarInfo, ThreadInfo } from 'lib/types/thread-types.js';
 
 import { SidebarItem } from './sidebar-item.react.js';
 import ThreadListModal from './thread-list-modal.react.js';
@@ -16,7 +16,7 @@
 import Arrow from '../vectors/arrow.react.js';
 
 export type SidebarListModalParams = {
-  +threadInfo: LegacyThreadInfo,
+  +threadInfo: ThreadInfo,
 };
 
 type Props = {
@@ -30,7 +30,7 @@
   const numOfSidebarsWithExtendedArrow = listData.length - 1;
 
   const createRenderItem = React.useCallback(
-    (onPressItem: (threadInfo: LegacyThreadInfo) => void) =>
+    (onPressItem: (threadInfo: ThreadInfo) => void) =>
       // eslint-disable-next-line react/display-name
       (row: { +item: SidebarInfo, +index: number, ... }) => {
         let extendArrow: boolean = false;
@@ -64,7 +64,7 @@
 
 function Item(props: {
   item: SidebarInfo,
-  onPressItem: (threadInfo: LegacyThreadInfo) => void,
+  onPressItem: (threadInfo: ThreadInfo) => void,
   extendArrow: boolean,
 }): React.Node {
   const { item, onPressItem, extendArrow } = props;
diff --git a/native/chat/subchannels-list-modal.react.js b/native/chat/subchannels-list-modal.react.js
--- a/native/chat/subchannels-list-modal.react.js
+++ b/native/chat/subchannels-list-modal.react.js
@@ -5,7 +5,7 @@
 
 import { useSearchSubchannels } from 'lib/hooks/search-threads.js';
 import type { ChatThreadItem } from 'lib/selectors/chat-selectors.js';
-import { type LegacyThreadInfo } from 'lib/types/thread-types.js';
+import { type ThreadInfo } from 'lib/types/thread-types.js';
 
 import SubchannelItem from './subchannel-item.react.js';
 import ThreadListModal from './thread-list-modal.react.js';
@@ -15,7 +15,7 @@
 import { useColors, useStyles } from '../themes/colors.js';
 
 export type SubchannelListModalParams = {
-  +threadInfo: LegacyThreadInfo,
+  +threadInfo: ThreadInfo,
 };
 
 type Props = {
@@ -41,14 +41,14 @@
 }
 
 const createRenderItem =
-  (onPressItem: (threadInfo: LegacyThreadInfo) => void) =>
+  (onPressItem: (threadInfo: ThreadInfo) => void) =>
   // eslint-disable-next-line react/display-name
   (row: { +item: ChatThreadItem, +index: number, ... }) => {
     return <Item subchannelInfo={row.item} onPressItem={onPressItem} />;
   };
 
 function Item(props: {
-  onPressItem: (threadInfo: LegacyThreadInfo) => void,
+  onPressItem: (threadInfo: ThreadInfo) => void,
   subchannelInfo: ChatThreadItem,
 }): React.Node {
   const { onPressItem, subchannelInfo } = props;
diff --git a/native/chat/swipeable-thread.react.js b/native/chat/swipeable-thread.react.js
--- a/native/chat/swipeable-thread.react.js
+++ b/native/chat/swipeable-thread.react.js
@@ -7,14 +7,14 @@
 import SwipeableComponent from 'react-native-gesture-handler/Swipeable';
 
 import useToggleUnreadStatus from 'lib/hooks/toggle-unread-status.js';
-import type { LegacyThreadInfo } from 'lib/types/thread-types.js';
+import type { ThreadInfo } from 'lib/types/thread-types.js';
 
 import Swipeable from '../components/swipeable.js';
 import { useColors } from '../themes/colors.js';
 type Props = {
-  +threadInfo: LegacyThreadInfo,
+  +threadInfo: ThreadInfo,
   +mostRecentNonLocalMessage: ?string,
-  +onSwipeableWillOpen: (threadInfo: LegacyThreadInfo) => void,
+  +onSwipeableWillOpen: (threadInfo: ThreadInfo) => void,
   +currentlyOpenedSwipeableId?: string,
   +iconSize: number,
   +children: React.Node,
diff --git a/native/chat/thread-list-modal.react.js b/native/chat/thread-list-modal.react.js
--- a/native/chat/thread-list-modal.react.js
+++ b/native/chat/thread-list-modal.react.js
@@ -13,11 +13,7 @@
 import type { ThreadSearchState } from 'lib/hooks/search-threads.js';
 import type { ChatThreadItem } from 'lib/selectors/chat-selectors.js';
 import type { SetState } from 'lib/types/hook-types.js';
-import type {
-  LegacyThreadInfo,
-  SidebarInfo,
-  ThreadInfo,
-} from 'lib/types/thread-types.js';
+import type { SidebarInfo, ThreadInfo } from 'lib/types/thread-types.js';
 
 import { useNavigateToThread } from './message-list-types.js';
 import Modal from '../components/modal.react.js';
@@ -39,9 +35,7 @@
 
 type Props<U> = {
   +threadInfo: ThreadInfo,
-  +createRenderItem: (
-    onPressItem: (threadInfo: LegacyThreadInfo) => void,
-  ) => (row: {
+  +createRenderItem: (onPressItem: (threadInfo: ThreadInfo) => void) => (row: {
     +item: U,
     +index: number,
     ...