@@ -74,26 +74,32 @@ export const useMessageList = (params: UseMessageListParams) => {
7474 ( ) => new MessagePreviousAndNextMessageStore ( ) ,
7575 ) ;
7676
77- const filteredMessageList = useMemo ( ( ) => {
78- const filteredMessages = [ ] ;
77+ const processedMessageList = useMemo < LocalMessage [ ] > ( ( ) => {
78+ const newMessageList = [ ] ;
7979 for ( const message of messageList ) {
8080 if (
81- shouldIncludeMessageInList ( message , {
81+ ! shouldIncludeMessageInList ( message , {
8282 deletedMessagesVisibilityType,
8383 userId : client . userID ,
8484 } )
8585 ) {
86- filteredMessages . push ( message ) ;
86+ continue ;
87+ }
88+ if ( isFlashList ) {
89+ newMessageList . push ( message ) ;
90+ } else {
91+ newMessageList . unshift ( message ) ;
8792 }
8893 }
89- return filteredMessages ;
90- } , [ messageList , deletedMessagesVisibilityType , client . userID ] ) ;
94+ return newMessageList ;
95+ } , [ messageList , deletedMessagesVisibilityType , client . userID , isFlashList ] ) ;
9196
9297 useEffect ( ( ) => {
9398 messageListPreviousAndNextMessageStore . setMessageListPreviousAndNextMessage (
94- filteredMessageList ,
99+ processedMessageList ,
100+ isFlashList ,
95101 ) ;
96- } , [ filteredMessageList , messageListPreviousAndNextMessageStore ] ) ;
102+ } , [ processedMessageList , messageListPreviousAndNextMessageStore , isFlashList ] ) ;
97103
98104 /**
99105 * @deprecated use `useDateSeparator` hook instead directly in the Message.
@@ -102,9 +108,9 @@ export const useMessageList = (params: UseMessageListParams) => {
102108 ( ) =>
103109 getDateSeparators ( {
104110 hideDateSeparators,
105- messages : filteredMessageList ,
111+ messages : processedMessageList ,
106112 } ) ,
107- [ hideDateSeparators , filteredMessageList ] ,
113+ [ hideDateSeparators , processedMessageList ] ,
108114 ) ;
109115
110116 /**
@@ -122,15 +128,15 @@ export const useMessageList = (params: UseMessageListParams) => {
122128 dateSeparators : dateSeparatorsRef . current ,
123129 hideDateSeparators,
124130 maxTimeBetweenGroupedMessages,
125- messages : filteredMessageList ,
131+ messages : processedMessageList ,
126132 noGroupByUser,
127133 userId : client . userID ,
128134 } ) ,
129135 [
130136 getMessagesGroupStyles ,
131137 hideDateSeparators ,
132138 maxTimeBetweenGroupedMessages ,
133- filteredMessageList ,
139+ processedMessageList ,
134140 noGroupByUser ,
135141 client . userID ,
136142 ] ,
@@ -142,18 +148,6 @@ export const useMessageList = (params: UseMessageListParams) => {
142148 const messageGroupStylesRef = useRef < MessageGroupStyles > ( messageGroupStyles ) ;
143149 messageGroupStylesRef . current = messageGroupStyles ;
144150
145- const processedMessageList = useMemo < LocalMessage [ ] > ( ( ) => {
146- const newMessageList = [ ] ;
147- for ( const message of filteredMessageList ) {
148- if ( isFlashList ) {
149- newMessageList . push ( message ) ;
150- } else {
151- newMessageList . unshift ( message ) ;
152- }
153- }
154- return newMessageList ;
155- } , [ filteredMessageList , isFlashList ] ) ;
156-
157151 const data = useRAFCoalescedValue ( processedMessageList , isLiveStreaming ) ;
158152
159153 return useMemo (
0 commit comments