changeset 676775867517 in /home/hg/repos/gajim
author: Yann Leboulanger asterix@lagaule.org branches: gajim_0.16 details:http://hg.gajim.org/gajim?cmd=changeset;node=676775867517 description: request archiving preferences only if server announce it supports it, and don't think it supports it while it's buggy. Fixes #7839
diffstat:
src/common/connection.py | 18 +++++++++--------- src/common/message_archiving.py | 8 ++++++++ 2 files changed, 17 insertions(+), 9 deletions(-)
diffs (53 lines):
diff -r 05e7ce499ce2 -r 676775867517 src/common/connection.py --- a/src/common/connection.py Sat Sep 26 16:14:19 2015 +0200 +++ b/src/common/connection.py Wed Sep 30 20:00:48 2015 +0200 @@ -1899,7 +1899,6 @@ # If we are not resuming, we ask for discovery info # and archiving preferences if not self.sm.supports_sm or (not self.sm.resuming and self.sm.enabled): - self.request_message_archiving_preferences() self.discoverInfo(gajim.config.get_per('accounts', self.name, 'hostname'), id_prefix='Gajim_')
@@ -2006,14 +2005,15 @@ if nbxmpp.NS_ARCHIVE in obj.features: self.archiving_supported = True self.archiving_136_supported = True - if nbxmpp.NS_ARCHIVE_AUTO in obj.features: - self.archive_auto_supported = True - if nbxmpp.NS_ARCHIVE_MANAGE in obj.features: - self.archive_manage_supported = True - if nbxmpp.NS_ARCHIVE_MANUAL in obj.features: - self.archive_manual_supported = True - if nbxmpp.NS_ARCHIVE_PREF in obj.features: - self.archive_pref_supported = True + self.request_message_archiving_preferences() + if nbxmpp.NS_ARCHIVE_AUTO in obj.features: + self.archive_auto_supported = True + if nbxmpp.NS_ARCHIVE_MANAGE in obj.features: + self.archive_manage_supported = True + if nbxmpp.NS_ARCHIVE_MANUAL in obj.features: + self.archive_manual_supported = True + if nbxmpp.NS_ARCHIVE_PREF in obj.features: + self.archive_pref_supported = True if nbxmpp.NS_BLOCKING in obj.features: self.blocking_supported = True if nbxmpp.NS_ADDRESS in obj.features: diff -r 05e7ce499ce2 -r 676775867517 src/common/message_archiving.py --- a/src/common/message_archiving.py Sat Sep 26 16:14:19 2015 +0200 +++ b/src/common/message_archiving.py Wed Sep 30 20:00:48 2015 +0200 @@ -334,6 +334,14 @@ def _nec_archiving_changed_received(self, obj): if obj.conn.name != self.name: return + for key in ('auto', 'default'): + if key not in obj.conf: + self.archiving_136_supported = False + self.archive_auto_supported = False + self.archive_manage_supported = False + self.archive_manual_supported = False + self.archive_pref_supported = False + return True for key in ('auto', 'method_auto', 'method_local', 'method_manual', 'default'): if key in obj.conf: