Add contact even if vcard fetching didn't work.

Also fixed a bug. We DO have to listen to the 'remove' event for roster items.
This commit is contained in:
JC Brand 2013-05-13 23:38:37 +02:00
parent c1423928ab
commit 8467dc7016

View File

@ -652,11 +652,16 @@
converse.getVCard( converse.getVCard(
jid, jid,
$.proxy(function (jid, fullname, image, image_type, url) { $.proxy(function (jid, fullname, image, image_type, url) {
// XXX: Should we perhaps create a roster item here?
this.addContact(jid, fullname); this.addContact(jid, fullname);
}, this), }, this),
$.proxy(function () { $.proxy(function (stanza) {
console.log("An error occured while fetching vcard"); console.log("An error occured while fetching vcard");
if ($(stanza).find('error').attr('code') == '503') {
// If we get service-unavailable, we continue to create
// the user
var jid = $(stanza).attr('from');
this.addContact(jid, jid);
}
}, this)); }, this));
$('.search-xmpp').hide(); $('.search-xmpp').hide();
}, },
@ -1952,9 +1957,8 @@
this.render(item); this.render(item);
}, this); }, this);
this.model.on("destroy", function (item) { this.model.on("remove", function (item) { this.removeRosterItem(item); }, this);
this.removeRosterItem(item); this.model.on("destroy", function (item) { this.removeRosterItem(item); }, this);
}, this);
this.$el.hide().html(this.template()); this.$el.hide().html(this.template());
this.model.fetch({add: true}); // Get the cached roster items from localstorage this.model.fetch({add: true}); // Get the cached roster items from localstorage