Browse Source

Fixes #645. When accepting a contact request...

the contact didn't appear under the pending contacts list.
JC Brand 9 years ago
parent
commit
e28aba5a59
2 changed files with 11 additions and 1 deletions
  1. 2 0
      docs/CHANGES.md
  2. 9 1
      src/converse-rosterview.js

+ 2 - 0
docs/CHANGES.md

@@ -7,6 +7,8 @@
   use it. [jcbrand]
 - Mention someone in your chat room message by clicking on their name in the occupants
   list. [jcbrand]
+- #645 When accepting a contact request, the contact didn't appear in the
+  pending contacts group. [jcbrand]
 
 ## 1.0.4 (2016-07-26)
 

+ 9 - 1
src/converse-rosterview.js

@@ -883,7 +883,15 @@
 
                 onContactRequestChange: function (contact) {
                     if ((this.model.get('name') === HEADER_REQUESTING_CONTACTS) && !contact.get('requesting')) {
-                        this.model.contacts.remove(contact.get('id'));
+                        /* We suppress events, otherwise the remove event will
+                         * also cause the contact's view to be removed from the
+                         * "Pending Contacts" group.
+                         */
+                        this.model.contacts.remove(contact.get('id'), {'silent': true});
+                        // Since we suppress events, we make sure the view and
+                        // contact are removed from this group.
+                        this.get(contact.get('id')).remove();
+                        this.onRemove(contact);
                     }
                 },