diff --git a/src/api/gramjs/methods/chats.ts b/src/api/gramjs/methods/chats.ts index be6c63675..215f21236 100644 --- a/src/api/gramjs/methods/chats.ts +++ b/src/api/gramjs/methods/chats.ts @@ -75,29 +75,27 @@ export async function fetchChats({ return undefined; } - updateLocalDb(result); + if (resultPinned) { updateLocalDb(resultPinned); } + updateLocalDb(result); const lastMessagesByChatId = buildCollectionByKey( - [...result.messages, ...(resultPinned ? resultPinned.messages : [])] + (resultPinned ? resultPinned.messages : []).concat(result.messages) .map(buildApiMessage) .filter(Boolean as any), 'chatId', ); const peersByKey: Record = { - ...preparePeers(result), ...(resultPinned && preparePeers(resultPinned)), + ...preparePeers(result), }; const chats: ApiChat[] = []; const draftsById: Record = {}; const replyingToById: Record = {}; - const dialogs = [ - ...(resultPinned ? resultPinned.dialogs : []), - ...result.dialogs, - ]; + const dialogs = (resultPinned ? resultPinned.dialogs : []).concat(result.dialogs); const orderedPinnedIds: number[] = []; @@ -131,7 +129,7 @@ export async function fetchChats({ } }); - const users = [...result.users, ...(resultPinned ? resultPinned.users : [])] + const users = (resultPinned ? resultPinned.users : []).concat(result.users) .map(buildApiUser) .filter(Boolean as any); const chatIds = chats.map((chat) => chat.id);