From ca7dce4a5a0234461fee554153d9328bc246ee55 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Thu, 5 Jan 2017 14:06:09 +0100
Subject: [PATCH] Fix selection resetting in compose form after unrelated data
 updates

---
 .../features/compose/components/compose_form.jsx          | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/assets/javascripts/components/features/compose/components/compose_form.jsx b/app/assets/javascripts/components/features/compose/components/compose_form.jsx
index 44c44bcb0..8128bb382 100644
--- a/app/assets/javascripts/components/features/compose/components/compose_form.jsx
+++ b/app/assets/javascripts/components/features/compose/components/compose_form.jsx
@@ -85,14 +85,14 @@ const ComposeForm = React.createClass({
   },
 
   componentDidUpdate (prevProps) {
-    if (prevProps.in_reply_to !== this.props.in_reply_to) {
+    if (!prevProps.in_reply_to || !this.props.in_reply_to || prevProps.in_reply_to.get('id') !== this.props.in_reply_to.get('id')) {
       // If replying to zero or one users, places the cursor at the end of the textbox.
       // If replying to more than one user, selects any usernames past the first;
       // this provides a convenient shortcut to drop everyone else from the conversation.
-      let selectionStart = this.props.text.search(/\s/) + 1;
-      let selectionEnd = this.props.text.length;
-      this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);
+      const selectionStart = this.props.text.search(/\s/) + 1;
+      const selectionEnd = this.props.text.length;
 
+      this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);
       this.autosuggestTextarea.textarea.focus();
     }
   },