diff --git a/lib/shared/threads/protocols/dm-thread-protocol.js b/lib/shared/threads/protocols/dm-thread-protocol.js
--- a/lib/shared/threads/protocols/dm-thread-protocol.js
+++ b/lib/shared/threads/protocols/dm-thread-protocol.js
@@ -800,6 +800,7 @@
nativeChatThreadListIcon: 'lock',
webChatThreadListIcon: 'lock',
threadAncestorLabel: () => 'Local DM',
+ threadSearchHeaderShowsGenesis: false,
},
uploadMultimediaMetadataToKeyserver: false,
diff --git a/lib/shared/threads/protocols/keyserver-thread-protocol.js b/lib/shared/threads/protocols/keyserver-thread-protocol.js
--- a/lib/shared/threads/protocols/keyserver-thread-protocol.js
+++ b/lib/shared/threads/protocols/keyserver-thread-protocol.js
@@ -599,6 +599,7 @@
nativeChatThreadListIcon: 'server',
webChatThreadListIcon: 'server',
threadAncestorLabel: (ancestorPath: React.Node) => ancestorPath,
+ threadSearchHeaderShowsGenesis: true,
},
uploadMultimediaMetadataToKeyserver: true,
diff --git a/lib/shared/threads/thread-spec.js b/lib/shared/threads/thread-spec.js
--- a/lib/shared/threads/thread-spec.js
+++ b/lib/shared/threads/thread-spec.js
@@ -344,6 +344,7 @@
+nativeChatThreadListIcon: string,
+webChatThreadListIcon: 'lock' | 'server',
+threadAncestorLabel: (ancestorPath: React.Node) => React.Node,
+ +threadSearchHeaderShowsGenesis: boolean,
},
+uploadMultimediaMetadataToKeyserver: boolean,
+canActionsTargetPendingMessages: boolean,
diff --git a/native/chat/message-list-container.react.js b/native/chat/message-list-container.react.js
--- a/native/chat/message-list-container.react.js
+++ b/native/chat/message-list-container.react.js
@@ -15,10 +15,8 @@
useSearchUsers,
} from 'lib/shared/search-utils.js';
import { useExistingThreadInfoFinder } from 'lib/shared/thread-utils.js';
-import { dmThreadProtocol } from 'lib/shared/threads/protocols/dm-thread-protocol.js';
-import { keyserverThreadProtocol } from 'lib/shared/threads/protocols/keyserver-thread-protocol.js';
+import { threadSpecs } from 'lib/shared/threads/thread-specs.js';
import type { ThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js';
-import { threadTypeIsThick } from 'lib/types/thread-types-enum.js';
import type { AccountUserInfo, UserListItem } from 'lib/types/user-types.js';
import { pinnedMessageCountText } from 'lib/utils/message-pinning-utils.js';
@@ -162,13 +160,15 @@
if (searching) {
const { userInfoInputArray, genesisThreadInfo } = this.props;
let parentThreadHeader;
- if (threadTypeIsThick(threadInfo.type)) {
+ const protocol = threadSpecs[threadInfo.type].protocol;
+ const childThreadType = protocol.pendingThreadType(
+ userInfoInputArray.length,
+ );
+ const threadSearchHeaderShowsGenesis =
+ protocol.presentationDetails.threadSearchHeaderShowsGenesis;
+ if (!threadSearchHeaderShowsGenesis) {
parentThreadHeader = (
-
+
);
} else if (genesisThreadInfo) {
// It's technically possible for the client to be missing the Genesis
@@ -176,9 +176,7 @@
parentThreadHeader = (
);
}