From d30426ce17a6aa611c8712d3315d5249cbbeee92 Mon Sep 17 00:00:00 2001
From: JoramWilander <jwawilander@gmail.com>
Date: Wed, 9 Sep 2015 11:28:53 -0400
Subject: Fix race condition where switching between two channels that both had
 new messages sometimes caused improper scrolling.

---
 web/react/components/post_list.jsx | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

(limited to 'web/react/components/post_list.jsx')

diff --git a/web/react/components/post_list.jsx b/web/react/components/post_list.jsx
index d7c0d4862..9d95887d9 100644
--- a/web/react/components/post_list.jsx
+++ b/web/react/components/post_list.jsx
@@ -152,6 +152,10 @@ export default class PostList extends React.Component {
         postHolder.off('scroll');
     }
     componentDidUpdate(prevProps, prevState) {
+        if (!this.props.isActive) {
+            return;
+        }
+
         $('.post-list__content div .post').removeClass('post--last');
         $('.post-list__content div:last-child .post').addClass('post--last');
 
@@ -219,8 +223,8 @@ export default class PostList extends React.Component {
     scrollToBottom(force) {
         this.isUserScroll = false;
         var postHolder = $(React.findDOMNode(this.refs.postlist));
-        if ($('#new_message')[0] && !this.userHasSeenNew && !force) {
-            $('#new_message')[0].scrollIntoView();
+        if ($('#new_message_' + this.props.channelId)[0] && !this.userHasSeenNew && !force) {
+            $('#new_message_' + this.props.channelId)[0].scrollIntoView();
         } else {
             postHolder.addClass('hide-scroll');
             postHolder[0].scrollTop = postHolder[0].scrollHeight;
@@ -539,7 +543,7 @@ export default class PostList extends React.Component {
                 // Temporary fix to solve ie10/11 rendering issue
                 let newSeparatorId = '';
                 if (!utils.isBrowserIE()) {
-                    newSeparatorId = 'new_message';
+                    newSeparatorId = 'new_message_' + this.props.channelId;
                 }
                 postCtls.push(
                     <div
-- 
cgit v1.2.3-1-g7c22

