diff --git a/sat/plugins/plugin_xep_0048.py b/sat/plugins/plugin_xep_0048.py index ec57b3f7..dc41e6fe 100644 --- a/sat/plugins/plugin_xep_0048.py +++ b/sat/plugins/plugin_xep_0048.py @@ -120,6 +120,9 @@ class XEP_0048(object): nick = data.get("nick", client.jid.user) self.host.plugins["XEP-0045"].join(client, room_jid, nick, {}) + # we don't use a DeferredList to gather result here, as waiting for all room would + # slow down a lot the connection process, and result in a bad user experience. + @defer.inlineCallbacks def _getServerBookmarks(self, storage_type, profile): """Get distants bookmarks diff --git a/sat_frontends/quick_frontend/quick_contact_list.py b/sat_frontends/quick_frontend/quick_contact_list.py index 836506a1..a011efd8 100644 --- a/sat_frontends/quick_frontend/quick_contact_list.py +++ b/sat_frontends/quick_frontend/quick_contact_list.py @@ -498,6 +498,8 @@ class ProfileContactList(object): else: self._specials.add(entity) cache[C.CONTACT_MAIN_RESOURCE] = None + if 'nick' in cache: + del cache['nick'] # now the attributes we keep in cache # XXX: if entity is a full jid, we store the value for the resource only