From 365b30f8889ee39965d372662f1f2079cb4096b8 Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Tue, 29 Jun 2021 18:42:35 +0300 Subject: [PATCH] Kicked from group status Restrict writing in kicked groups --- src/lang.ts | 1 + src/lib/appManagers/appMessagesManager.ts | 6 +++--- src/lib/appManagers/appProfileManager.ts | 8 ++++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/lang.ts b/src/lang.ts index 246c217e..95c1324c 100644 --- a/src/lang.ts +++ b/src/lang.ts @@ -482,6 +482,7 @@ const lang = { "formatDateAtTime": "%1$s at %2$s", "JoinByPeekChannelTitle": "Join Channel", "JoinByPeekGroupTitle": "Join Group", + "YouWereKicked": "you were removed", // * macos "AccountSettings.Filters": "Chat Folders", diff --git a/src/lib/appManagers/appMessagesManager.ts b/src/lib/appManagers/appMessagesManager.ts index 03503ba6..05fc92ae 100644 --- a/src/lib/appManagers/appMessagesManager.ts +++ b/src/lib/appManagers/appMessagesManager.ts @@ -4454,9 +4454,9 @@ export class AppMessagesManager { public canWriteToPeer(peerId: number, threadId?: number) { if(peerId < 0) { - const isChannel = appPeersManager.isChannel(peerId); - const hasRights = isChannel && appChatsManager.hasRights(-peerId, 'send_messages', undefined, !!threadId); - return !isChannel || hasRights; + //const isChannel = appPeersManager.isChannel(peerId); + const hasRights = /* isChannel && */appChatsManager.hasRights(-peerId, 'send_messages', undefined, !!threadId); + return /* !isChannel || */hasRights; } else { return appUsersManager.canSendToUser(peerId); } diff --git a/src/lib/appManagers/appProfileManager.ts b/src/lib/appManagers/appProfileManager.ts index 25305f5a..cb1e135b 100644 --- a/src/lib/appManagers/appProfileManager.ts +++ b/src/lib/appManagers/appProfileManager.ts @@ -465,7 +465,11 @@ export class AppProfileManager { } public getChatMembersString(id: number) { - const chat = appChatsManager.getChat(id); + const chat: Chat = appChatsManager.getChat(id); + if(chat._ === 'chatForbidden') { + return i18n('YouWereKicked'); + } + const chatFull = this.chatsFull[id]; let count: number; if(chatFull) { @@ -475,7 +479,7 @@ export class AppProfileManager { count = (chatFull.participants as ChatParticipants.chatParticipants).participants?.length; } } else { - count = chat.participants_count || chat.participants?.participants.length; + count = (chat as Chat.chat).participants_count || (chat as any).participants?.participants.length; } const isChannel = appChatsManager.isBroadcast(id);