Skip to content

Commit e9eed45

Browse files
committed
perf: improve message performance
1 parent 03fd05e commit e9eed45

3 files changed

Lines changed: 42 additions & 41 deletions

File tree

package/src/components/Message/MessageItemView/MessageContent.tsx

Lines changed: 35 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ const MessageContentWithContext = (props: MessageContentPropsWithContext) => {
167167
messageGroupedSingleOrBottomContainer,
168168
messageGroupedTopContainer,
169169
replyContainer,
170-
wrapper,
171170
},
172171
},
173172
},
@@ -368,43 +367,41 @@ const MessageContentWithContext = (props: MessageContentPropsWithContext) => {
368367
}
369368
}}
370369
>
371-
<View style={wrapper}>
372-
<View
373-
style={[
374-
styles.containerInner,
375-
{
376-
backgroundColor,
377-
...getBorderRadius(),
378-
...getBorderRadiusFromTheme(),
379-
},
380-
noBorder ? { borderWidth: 0 } : {},
381-
containerInner,
382-
messageGroupedSingleOrBottom
383-
? isVeryLastMessage && enableMessageGroupingByUser
384-
? lastMessageContainer
385-
: messageGroupedSingleOrBottomContainer
386-
: messageGroupedTopContainer,
387-
]}
388-
testID='message-content-wrapper'
389-
>
390-
{MessageContentTopView ? <MessageContentTopView /> : null}
391-
{hasContentSideViews ? (
392-
<View
393-
style={[
394-
styles.contentRow,
395-
alignment === 'right' ? styles.rightAlignContentRow : undefined,
396-
]}
397-
testID='message-content-row'
398-
>
399-
{MessageContentLeadingView ? <MessageContentLeadingView /> : null}
400-
<View style={styles.contentBody}>{contentBody}</View>
401-
{MessageContentTrailingView ? <MessageContentTrailingView /> : null}
402-
</View>
403-
) : (
404-
contentBody
405-
)}
406-
{MessageContentBottomView ? <MessageContentBottomView /> : null}
407-
</View>
370+
<View
371+
style={[
372+
styles.containerInner,
373+
{
374+
backgroundColor,
375+
...getBorderRadius(),
376+
...getBorderRadiusFromTheme(),
377+
},
378+
noBorder ? { borderWidth: 0 } : {},
379+
containerInner,
380+
messageGroupedSingleOrBottom
381+
? isVeryLastMessage && enableMessageGroupingByUser
382+
? lastMessageContainer
383+
: messageGroupedSingleOrBottomContainer
384+
: messageGroupedTopContainer,
385+
]}
386+
testID='message-content-wrapper'
387+
>
388+
{MessageContentTopView ? <MessageContentTopView /> : null}
389+
{hasContentSideViews ? (
390+
<View
391+
style={[
392+
styles.contentRow,
393+
alignment === 'right' ? styles.rightAlignContentRow : undefined,
394+
]}
395+
testID='message-content-row'
396+
>
397+
{MessageContentLeadingView ? <MessageContentLeadingView /> : null}
398+
<View style={styles.contentBody}>{contentBody}</View>
399+
{MessageContentTrailingView ? <MessageContentTrailingView /> : null}
400+
</View>
401+
) : (
402+
contentBody
403+
)}
404+
{MessageContentBottomView ? <MessageContentBottomView /> : null}
408405
</View>
409406
</Pressable>
410407
);

package/src/contexts/themeContext/utils/theme.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -641,7 +641,6 @@ export type Theme = {
641641
textContainer: ViewStyle & {
642642
onlyEmojiMarkdown: MarkdownStyle;
643643
};
644-
wrapper: ViewStyle;
645644
timestampText?: TextStyle;
646645
};
647646
deleted: {
@@ -1568,7 +1567,6 @@ export const defaultTheme: Theme = {
15681567
onlyEmojiMarkdown: { text: { fontSize: 50 } },
15691568
},
15701569
timestampText: {},
1571-
wrapper: {},
15721570
},
15731571
deleted: {
15741572
containerInner: {},

package/src/state-store/message-overlay-store.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,13 @@ export const closeOverlay = () => {
9494
return;
9595
}
9696

97-
overlayStore.partialNext({ closing: true });
97+
requestAnimationFrame(() => {
98+
if (!overlayStore.getLatestValue().id) {
99+
return;
100+
}
101+
102+
overlayStore.partialNext({ closing: true });
103+
});
98104
};
99105

100106
let actionQueue: Array<() => void | Promise<void>> = [];

0 commit comments

Comments
 (0)