From 13df6c476ec5ebe85a3018bf7c85e2f7bfe79702 Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Wed, 27 Jan 2021 18:04:32 +1100 Subject: [PATCH] remove isClosable for convo as it is unused --- js/models/conversations.d.ts | 1 - js/models/conversations.js | 5 +---- ts/components/ConversationListItem.tsx | 1 - ts/components/conversation/ConversationHeader.tsx | 1 - .../session/conversation/SessionConversation.tsx | 1 - .../session/menu/ConversationHeaderMenu.tsx | 3 --- .../menu/ConversationListItemContextMenu.tsx | 3 --- ts/components/session/menu/Menu.tsx | 15 +++------------ ts/state/ducks/conversations.ts | 9 ++++++++- 9 files changed, 12 insertions(+), 27 deletions(-) diff --git a/js/models/conversations.d.ts b/js/models/conversations.d.ts index bd0968763..677c02818 100644 --- a/js/models/conversations.d.ts +++ b/js/models/conversations.d.ts @@ -58,7 +58,6 @@ export interface ConversationModel isPublic: () => boolean; isClosedGroup: () => boolean; isBlocked: () => boolean; - isClosable: () => boolean; isAdmin: (id: string) => boolean; throttledBumpTyping: () => void; diff --git a/js/models/conversations.js b/js/models/conversations.js index 35a150cc8..8558b41a3 100644 --- a/js/models/conversations.js +++ b/js/models/conversations.js @@ -115,9 +115,7 @@ isClosedGroup() { return this.get('type') === Message.GROUP && !this.isPublic(); }, - isClosable() { - return this.get('closable'); - }, + isBlocked() { if (!this.id || this.isMe()) { return false; @@ -400,7 +398,6 @@ type: this.isPrivate() ? 'direct' : 'group', isMe: this.isMe(), isPublic: this.isPublic(), - isClosable: this.isClosable(), isTyping: typingKeys.length > 0, lastUpdated: this.get('timestamp'), name: this.getName(), diff --git a/ts/components/ConversationListItem.tsx b/ts/components/ConversationListItem.tsx index 737d85fe7..34fdd5ba1 100644 --- a/ts/components/ConversationListItem.tsx +++ b/ts/components/ConversationListItem.tsx @@ -34,7 +34,6 @@ export type ConversationListItemProps = { avatarPath?: string; isMe: boolean; isPublic?: boolean; - isClosable?: boolean; primaryDevice?: string; lastUpdated: number; diff --git a/ts/components/conversation/ConversationHeader.tsx b/ts/components/conversation/ConversationHeader.tsx index b94b00315..f291de213 100644 --- a/ts/components/conversation/ConversationHeader.tsx +++ b/ts/components/conversation/ConversationHeader.tsx @@ -38,7 +38,6 @@ interface Props { avatarPath?: string; isMe: boolean; - isClosable?: boolean; isGroup: boolean; isPrivate: boolean; isPublic: boolean; diff --git a/ts/components/session/conversation/SessionConversation.tsx b/ts/components/session/conversation/SessionConversation.tsx index 13adc82ed..1b3789f8a 100644 --- a/ts/components/session/conversation/SessionConversation.tsx +++ b/ts/components/session/conversation/SessionConversation.tsx @@ -418,7 +418,6 @@ export class SessionConversation extends React.Component { profileName: conversation.getProfileName(), avatarPath: conversation.getAvatarPath(), isMe: conversation.isMe(), - isClosable: conversation.isClosable(), isBlocked: conversation.isBlocked(), isGroup: !conversation.isPrivate(), isPrivate: conversation.isPrivate(), diff --git a/ts/components/session/menu/ConversationHeaderMenu.tsx b/ts/components/session/menu/ConversationHeaderMenu.tsx index e8d7f50c3..caa274622 100644 --- a/ts/components/session/menu/ConversationHeaderMenu.tsx +++ b/ts/components/session/menu/ConversationHeaderMenu.tsx @@ -18,7 +18,6 @@ export type PropsConversationHeaderMenu = { triggerId: string; isMe: boolean; isPublic?: boolean; - isClosable?: boolean; isKickedFromGroup?: boolean; left?: boolean; isGroup: boolean; @@ -44,7 +43,6 @@ export const ConversationHeaderMenu = (props: PropsConversationHeaderMenu) => { const { triggerId, isMe, - isClosable, isPublic, isGroup, isKickedFromGroup, @@ -125,7 +123,6 @@ export const ConversationHeaderMenu = (props: PropsConversationHeaderMenu) => { )} {getDeleteContactMenuItem( isMe, - isClosable, isGroup, isPublic, onDeleteContact, diff --git a/ts/components/session/menu/ConversationListItemContextMenu.tsx b/ts/components/session/menu/ConversationListItemContextMenu.tsx index 4ab2a75f8..f18bb260d 100644 --- a/ts/components/session/menu/ConversationListItemContextMenu.tsx +++ b/ts/components/session/menu/ConversationListItemContextMenu.tsx @@ -16,7 +16,6 @@ export type PropsContextConversationItem = { type: 'group' | 'direct'; isMe: boolean; isPublic?: boolean; - isClosable?: boolean; isBlocked?: boolean; hasNickname?: boolean; isKickedFromGroup?: boolean; @@ -39,7 +38,6 @@ export const ConversationListItemContextMenu = ( triggerId, isBlocked, isMe, - isClosable, isPublic, hasNickname, type, @@ -92,7 +90,6 @@ export const ConversationListItemContextMenu = ( )} {getDeleteContactMenuItem( isMe, - isClosable, type === 'group', isPublic, onDeleteContact, diff --git a/ts/components/session/menu/Menu.tsx b/ts/components/session/menu/Menu.tsx index a46bb6b26..87072aad1 100644 --- a/ts/components/session/menu/Menu.tsx +++ b/ts/components/session/menu/Menu.tsx @@ -33,16 +33,15 @@ function showDeleteMessages(isPublic: boolean): boolean { } function showCopyId(isPublic: boolean, isGroup: boolean): boolean { - return !isGroup; + return !isGroup || isPublic; } function showDeleteContact( isMe: boolean, - isClosable: boolean, isGroup: boolean, isPublic: boolean ): boolean { - return !isMe && isClosable && !!(!isGroup || isPublic); + return !isMe && Boolean(!isGroup || isPublic); } function showAddModerators( @@ -96,20 +95,12 @@ export function getInviteContactMenuItem( export function getDeleteContactMenuItem( isMe: boolean | undefined, - isClosable: boolean | undefined, isGroup: boolean | undefined, isPublic: boolean | undefined, action: any, i18n: LocalizerType ): JSX.Element | null { - if ( - showDeleteContact( - Boolean(isMe), - Boolean(isClosable), - Boolean(isGroup), - Boolean(isPublic) - ) - ) { + if (showDeleteContact(Boolean(isMe), Boolean(isGroup), Boolean(isPublic))) { if (isPublic) { return {i18n('leaveGroup')}; } diff --git a/ts/state/ducks/conversations.ts b/ts/state/ducks/conversations.ts index a2f2d192f..e4c453c28 100644 --- a/ts/state/ducks/conversations.ts +++ b/ts/state/ducks/conversations.ts @@ -61,7 +61,6 @@ export type ConversationType = { type: 'direct' | 'group'; isMe: boolean; isPublic?: boolean; - isClosable?: boolean; lastUpdated: number; unreadCount: number; mentionedUs: boolean; @@ -158,7 +157,15 @@ const fetchMessagesForConversation = createAsyncThunk( conversationKey: string; count: number; }) => { + const beforeTimestamp = Date.now(); const messages = await getMessages(conversationKey, count); + const afterTimestamp = Date.now(); + + const time = afterTimestamp - beforeTimestamp; + window.log.info( + `Loading ${messages.length} messages took ${time}ms to load.` + ); + return { conversationKey, messages,