diff sat/plugins/plugin_xep_0048.py @ 2987:8990ed9aad31

quick_frontend (contact list): fixed `nick` use for groupchat: during the profile connection workflow, joined rooms are retrieved, then presence are filled, all asynchronously. In some cases, all rooms may not be joined when presence are filled, resulting in cache being already filled with a `nick` when cache is set for the room itself. Because of that, a `nick` may be displayed in contact list instead of MUC local part. This patch fixes it by removing `nick` if it exists when cache a MUC room. fix 305
author Goffi <goffi@goffi.org>
date Fri, 05 Jul 2019 15:58:15 +0200
parents 5ba98fd6c9a4
children ab2696e34d29
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0048.py	Tue Jul 02 19:36:27 2019 +0200
+++ b/sat/plugins/plugin_xep_0048.py	Fri Jul 05 15:58:15 2019 +0200
@@ -120,6 +120,9 @@
                         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