diff --git a/src/components/middle/MessageList.tsx b/src/components/middle/MessageList.tsx index 6e9b079a6..0a38570b8 100644 --- a/src/components/middle/MessageList.tsx +++ b/src/components/middle/MessageList.tsx @@ -382,7 +382,7 @@ const MessageList: FC = ({ } newScrollTop = scrollHeight - offsetHeight; - scrollOffsetRef.current = Math.max(scrollHeight - newScrollTop, offsetHeight); + scrollOffsetRef.current = Math.max(Math.ceil(scrollHeight - newScrollTop), offsetHeight); // Scroll still needs to be restored after container resize if (!shouldForceScroll) { @@ -421,7 +421,7 @@ const MessageList: FC = ({ newScrollTop = scrollHeight - scrollOffset; } - resetScroll(container, newScrollTop); + resetScroll(container, Math.ceil(newScrollTop)); if (!memoFocusingIdRef.current) { isScrollTopJustUpdatedRef.current = true; @@ -430,7 +430,7 @@ const MessageList: FC = ({ }); } - scrollOffsetRef.current = Math.max(scrollHeight - newScrollTop, offsetHeight); + scrollOffsetRef.current = Math.max(Math.ceil(scrollHeight - newScrollTop), offsetHeight); if (process.env.APP_ENV === 'perf') { // eslint-disable-next-line no-console