From 5a5d1d60c6c686e944929b380fd2b3916daadff0 Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Fri, 30 Oct 2020 11:03:21 +1100 Subject: [PATCH] fix scroll hanging when scroll all the way up --- .../conversation/SessionConversation.tsx | 22 +++++++++---------- .../SessionConversationMessagesList.tsx | 5 +++-- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/ts/components/session/conversation/SessionConversation.tsx b/ts/components/session/conversation/SessionConversation.tsx index ea0b19387..6dc9ffcd8 100644 --- a/ts/components/session/conversation/SessionConversation.tsx +++ b/ts/components/session/conversation/SessionConversation.tsx @@ -183,13 +183,12 @@ export class SessionConversation extends React.Component { public componentDidMount() { // Pause thread to wait for rendering to complete setTimeout(() => { - const div = this.messageContainerRef.current; - div?.addEventListener('dragenter', this.handleDragIn); - div?.addEventListener('dragleave', this.handleDragOut); - div?.addEventListener('dragover', this.handleDrag); - div?.addEventListener('drop', this.handleDrop); - }, - 100); + const div = this.messageContainerRef.current; + div?.addEventListener('dragenter', this.handleDragIn); + div?.addEventListener('dragleave', this.handleDragOut); + div?.addEventListener('dragover', this.handleDrag); + div?.addEventListener('drop', this.handleDrop); + }, 100); } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -634,11 +633,10 @@ export class SessionConversation extends React.Component { const conversationModel = window.ConversationController.getOrThrow( conversationKey ); - const selectedMessages = messages.filter( - message => - this.state.selectedMessages.find( - selectedMessage => selectedMessage === message.id - ) + const selectedMessages = messages.filter(message => + this.state.selectedMessages.find( + selectedMessage => selectedMessage === message.id + ) ); const multiple = selectedMessages.length > 1; diff --git a/ts/components/session/conversation/SessionConversationMessagesList.tsx b/ts/components/session/conversation/SessionConversationMessagesList.tsx index 5e0d64557..72fc7c7bc 100644 --- a/ts/components/session/conversation/SessionConversationMessagesList.tsx +++ b/ts/components/session/conversation/SessionConversationMessagesList.tsx @@ -324,10 +324,11 @@ export class SessionConversationMessagesList extends React.Component< const numMessages = this.props.messages.length + Constants.CONVERSATION.DEFAULT_MESSAGE_FETCH_COUNT; - const previousTopMessage = messages[messages.length - 1]?.id; + const oldLen = messages.length; + const previousTopMessage = messages[oldLen - 1]?.id; await this.props.getMessages(numMessages); - if (previousTopMessage) { + if (previousTopMessage && oldLen !== messages.length) { this.scrollToMessage(previousTopMessage); } }