@@ -75,13 +75,22 @@ export function useMessageActions(params: Params): MessageActions {
7575 [ replyType , quoteMessage ] ,
7676 ) ;
7777
78+ // This is a hack for the hotfix of following issue
79+ // https://sendbird.atlassian.net/browse/SBISSUE-17029
80+ const asyncScrollToBottom = useCallback (
81+ ( ) => {
82+ setTimeout ( scrollToBottom , 0 ) ;
83+ } ,
84+ [ ] ,
85+ ) ;
86+
7887 return {
7988 sendUserMessage : useCallback (
8089 async ( params ) => {
8190 const internalParams = buildInternalMessageParams < UserMessageCreateParams > ( params ) ;
8291 const processedParams = await onBeforeSendUserMessage ( internalParams ) ;
8392
84- return sendUserMessage ( processedParams , ( ) => scrollToBottom ( ) ) ;
93+ return sendUserMessage ( processedParams , asyncScrollToBottom ) ;
8594 } ,
8695 [ buildInternalMessageParams , sendUserMessage , scrollToBottom ] ,
8796 ) ,
@@ -90,7 +99,7 @@ export function useMessageActions(params: Params): MessageActions {
9099 const internalParams = buildInternalMessageParams < FileMessageCreateParams > ( params ) ;
91100 const processedParams = await onBeforeSendFileMessage ( internalParams ) ;
92101
93- return sendFileMessage ( processedParams , ( ) => scrollToBottom ( ) ) ;
102+ return sendFileMessage ( processedParams , asyncScrollToBottom ) ;
94103 } ,
95104 [ buildInternalMessageParams , sendFileMessage , scrollToBottom ] ,
96105 ) ,
@@ -99,7 +108,7 @@ export function useMessageActions(params: Params): MessageActions {
99108 const internalParams = buildInternalMessageParams < MultipleFilesMessageCreateParams > ( params ) ;
100109 const processedParams = await onBeforeSendMultipleFilesMessage ( internalParams ) ;
101110
102- return sendMultipleFilesMessage ( processedParams , ( ) => scrollToBottom ( ) ) ;
111+ return sendMultipleFilesMessage ( processedParams , asyncScrollToBottom ) ;
103112 } ,
104113 [ buildInternalMessageParams , sendMultipleFilesMessage , scrollToBottom ] ,
105114 ) ,
@@ -122,7 +131,7 @@ export function useMessageActions(params: Params): MessageActions {
122131 } ) ;
123132 const processedParams = await onBeforeSendVoiceMessage ( internalParams ) ;
124133
125- return sendFileMessage ( processedParams , ( ) => scrollToBottom ( ) ) ;
134+ return sendFileMessage ( processedParams , asyncScrollToBottom ) ;
126135 } ,
127136 [ buildInternalMessageParams , sendFileMessage , scrollToBottom ] ,
128137 ) ,
0 commit comments