Skip to content

Commit 0e0deb5

Browse files
authored
fix: should scroll to bottom when sending a message in open channel (#906)
- ticket: [CLNP-1856] [CLNP-1856]: https://sendbird.atlassian.net/browse/CLNP-1856?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
1 parent a2b62cd commit 0e0deb5

File tree

2 files changed

+7
-16
lines changed

2 files changed

+7
-16
lines changed

src/modules/OpenChannel/context/hooks/useFileUploadCallback.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ type CallbackReturn = (files: Array<File> | File) => void;
3535

3636
function useFileUploadCallback({
3737
currentOpenChannel,
38-
checkScrollBottom,
3938
imageCompression = {},
4039
onBeforeSendFileMessage,
4140
}: DynamicParams,
@@ -100,7 +99,6 @@ function useFileUploadCallback({
10099
const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault(compressedFile);
101100
logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);
102101

103-
const isBottom = checkScrollBottom();
104102
currentOpenChannel.sendFileMessage(params)
105103
.onPending((pendingMessage) => {
106104
messagesDispatcher({
@@ -115,18 +113,15 @@ function useFileUploadCallback({
115113
channel: currentOpenChannel,
116114
},
117115
});
116+
117+
setTimeout(() => utils.scrollIntoLast(0, scrollRef));
118118
})
119119
.onSucceeded((message) => {
120120
logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);
121121
messagesDispatcher({
122122
type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,
123123
payload: message,
124124
});
125-
if (isBottom) {
126-
setTimeout(() => {
127-
utils.scrollIntoLast(0, scrollRef);
128-
});
129-
}
130125
})
131126
.onFailed((error, message) => {
132127
logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message, error });
@@ -140,7 +135,7 @@ function useFileUploadCallback({
140135
});
141136
});
142137
}
143-
}, [currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression]);
138+
}, [currentOpenChannel, onBeforeSendFileMessage, imageCompression]);
144139
}
145140

146141
export default useFileUploadCallback;

src/modules/OpenChannel/context/hooks/useSendMessageCallback.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ interface StaticParams {
2121
}
2222

2323
function useSendMessageCallback(
24-
{ currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef }: DynamicParams,
24+
{ currentOpenChannel, onBeforeSendUserMessage, messageInputRef }: DynamicParams,
2525
{ sdk, logger, messagesDispatcher, scrollRef }: StaticParams,
2626
): () => void {
2727
return useCallback(() => {
@@ -41,7 +41,6 @@ function useSendMessageCallback(
4141
const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);
4242
logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);
4343

44-
const isBottom = checkScrollBottom();
4544
let pendingMsg = null;
4645
currentOpenChannel.sendUserMessage(params)
4746
.onPending((pendingMessage) => {
@@ -53,18 +52,15 @@ function useSendMessageCallback(
5352
},
5453
});
5554
pendingMsg = pendingMessage;
55+
56+
setTimeout(() => utils.scrollIntoLast(0, scrollRef));
5657
})
5758
.onSucceeded((message) => {
5859
logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);
5960
messagesDispatcher({
6061
type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,
6162
payload: message,
6263
});
63-
if (isBottom) {
64-
setTimeout(() => {
65-
utils.scrollIntoLast(0, scrollRef);
66-
});
67-
}
6864
})
6965
.onFailed((error) => {
7066
logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);
@@ -86,7 +82,7 @@ function useSendMessageCallback(
8682
}
8783
});
8884
}
89-
}, [currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef]);
85+
}, [currentOpenChannel, onBeforeSendUserMessage, messageInputRef]);
9086
}
9187

9288
export default useSendMessageCallback;

0 commit comments

Comments
 (0)