fix scroll hanging when scroll all the way up

pull/1387/head
Audric Ackermann 5 years ago
parent dd93a849d7
commit 5a5d1d60c6
No known key found for this signature in database
GPG Key ID: 999F434D76324AD4

@ -183,13 +183,12 @@ export class SessionConversation extends React.Component<Props, State> {
public componentDidMount() { public componentDidMount() {
// Pause thread to wait for rendering to complete // Pause thread to wait for rendering to complete
setTimeout(() => { setTimeout(() => {
const div = this.messageContainerRef.current; const div = this.messageContainerRef.current;
div?.addEventListener('dragenter', this.handleDragIn); div?.addEventListener('dragenter', this.handleDragIn);
div?.addEventListener('dragleave', this.handleDragOut); div?.addEventListener('dragleave', this.handleDragOut);
div?.addEventListener('dragover', this.handleDrag); div?.addEventListener('dragover', this.handleDrag);
div?.addEventListener('drop', this.handleDrop); div?.addEventListener('drop', this.handleDrop);
}, }, 100);
100);
} }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -634,11 +633,10 @@ export class SessionConversation extends React.Component<Props, State> {
const conversationModel = window.ConversationController.getOrThrow( const conversationModel = window.ConversationController.getOrThrow(
conversationKey conversationKey
); );
const selectedMessages = messages.filter( const selectedMessages = messages.filter(message =>
message => this.state.selectedMessages.find(
this.state.selectedMessages.find( selectedMessage => selectedMessage === message.id
selectedMessage => selectedMessage === message.id )
)
); );
const multiple = selectedMessages.length > 1; const multiple = selectedMessages.length > 1;

@ -324,10 +324,11 @@ export class SessionConversationMessagesList extends React.Component<
const numMessages = const numMessages =
this.props.messages.length + this.props.messages.length +
Constants.CONVERSATION.DEFAULT_MESSAGE_FETCH_COUNT; 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); await this.props.getMessages(numMessages);
if (previousTopMessage) { if (previousTopMessage && oldLen !== messages.length) {
this.scrollToMessage(previousTopMessage); this.scrollToMessage(previousTopMessage);
} }
} }

Loading…
Cancel
Save