Skip to content

Commit e1d331c

Browse files
authored
hotfix: Channel UI's scroll not work after sending new message (#1213)
1 parent 396131c commit e1d331c

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/modules/GroupChannel/context/hooks/useMessageActions.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)