From 723c0b4924175353fe157698245fe14e638a23c1 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Tue, 21 Feb 2023 18:28:09 +0100 Subject: [PATCH] Folders: Fix saving excluded peers (#2632) --- src/api/gramjs/methods/chats.ts | 5 +++++ src/hooks/reducers/useFoldersReducer.ts | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/api/gramjs/methods/chats.ts b/src/api/gramjs/methods/chats.ts index bd7237fa3..e7916069b 100644 --- a/src/api/gramjs/methods/chats.ts +++ b/src/api/gramjs/methods/chats.ts @@ -847,6 +847,11 @@ export async function editChatFolder({ id: number; folderUpdate: ApiChatFolder; }) { + // Telegram ignores excluded chats if they also present in the included list + folderUpdate.excludedChatIds = folderUpdate.excludedChatIds.filter((chatId) => { + return !folderUpdate.includedChatIds.includes(chatId); + }); + const filter = buildFilterFromApiFolder(folderUpdate); const isActionSuccessful = await invokeRequest(new GramJs.messages.UpdateDialogFilter({ diff --git a/src/hooks/reducers/useFoldersReducer.ts b/src/hooks/reducers/useFoldersReducer.ts index b6264b865..a6a4e3b9e 100644 --- a/src/hooks/reducers/useFoldersReducer.ts +++ b/src/hooks/reducers/useFoldersReducer.ts @@ -1,7 +1,8 @@ import type { StateReducer, Dispatch } from '../useReducer'; -import useReducer from '../useReducer'; import type { ApiChatFolder } from '../../api/types'; + import { pick, omit } from '../../util/iteratees'; +import useReducer from '../useReducer'; export type FolderChatType = { icon: string;