diff --git a/src/api/gramjs/methods/messages.ts b/src/api/gramjs/methods/messages.ts index 99f559a94..d4223d576 100644 --- a/src/api/gramjs/methods/messages.ts +++ b/src/api/gramjs/methods/messages.ts @@ -892,8 +892,9 @@ export async function searchMessagesLocal({ updateLocalDb(result); - const messages = result.messages.map(buildApiMessage).filter(Boolean as any); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); const users = result.users.map(buildApiUser).filter(Boolean as any); + const messages = result.messages.map(buildApiMessage).filter(Boolean as any); let totalCount = messages.length; let nextOffsetId: number | undefined; @@ -906,8 +907,9 @@ export async function searchMessagesLocal({ } return { - messages, + chats, users, + messages, totalCount, nextOffsetId, }; @@ -975,7 +977,7 @@ export async function searchMessagesGlobal({ messages: result.messages, } as GramJs.messages.Messages); - const chats = result.chats.map((user) => buildApiChatFromPreview(user)).filter(Boolean as any); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); const users = result.users.map(buildApiUser).filter(Boolean as any); const messages = result.messages.map(buildApiMessage).filter(Boolean as any); @@ -1204,9 +1206,9 @@ export async function fetchPinnedMessages({ chat }: { chat: ApiChat }) { updateLocalDb(result); - const messages = result.messages.map(buildApiMessage).filter(Boolean as any); - const users = result.users.map(buildApiUser).filter(Boolean as any); const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); + const users = result.users.map(buildApiUser).filter(Boolean as any); + const messages = result.messages.map(buildApiMessage).filter(Boolean as any); return { messages, diff --git a/src/modules/actions/api/localSearch.ts b/src/modules/actions/api/localSearch.ts index e2e6d50cc..0039cf744 100644 --- a/src/modules/actions/api/localSearch.ts +++ b/src/modules/actions/api/localSearch.ts @@ -9,11 +9,15 @@ import { callApi } from '../../../api/gramjs'; import { selectCurrentTextSearch, selectCurrentMediaSearchPeerId, - selectCurrentMediaSearch, selectCurrentMessageList, selectChat, selectThreadInfo, + selectCurrentMediaSearch, + selectCurrentMessageList, + selectChat, + selectThreadInfo, } from '../../selectors'; import { buildCollectionByKey } from '../../../util/iteratees'; import { addChatMessagesById, + addChats, addUsers, updateLocalMediaSearchResults, updateLocalTextSearchResults, @@ -103,7 +107,7 @@ async function searchTextMessages( } const { - messages, users, totalCount, nextOffsetId, + chats, users, messages, totalCount, nextOffsetId, } = result; const byId = buildCollectionByKey(messages, 'id'); @@ -116,8 +120,9 @@ async function searchTextMessages( return; } - global = addChatMessagesById(global, chatOrUser.id, byId); + global = addChats(global, buildCollectionByKey(chats, 'id')); global = addUsers(global, buildCollectionByKey(users, 'id')); + global = addChatMessagesById(global, chatOrUser.id, byId); global = updateLocalTextSearchResults(global, chatOrUser.id, threadId, newFoundIds, totalCount, nextOffsetId); setGlobal(global); } @@ -140,7 +145,7 @@ async function searchSharedMedia( } const { - messages, users, totalCount, nextOffsetId, + chats, users, messages, totalCount, nextOffsetId, } = result; const byId = buildCollectionByKey(messages, 'id'); @@ -153,8 +158,9 @@ async function searchSharedMedia( return; } - global = addChatMessagesById(global, chatOrUser.id, byId); + global = addChats(global, buildCollectionByKey(chats, 'id')); global = addUsers(global, buildCollectionByKey(users, 'id')); + global = addChatMessagesById(global, chatOrUser.id, byId); global = updateLocalMediaSearchResults(global, chatOrUser.id, type, newFoundIds, totalCount, nextOffsetId); setGlobal(global);