# HG changeset patch # User Goffi # Date 1545841299 -3600 # Node ID 1b11da85492c8cbd86df1be58e7895f7ae4552d9 # Parent 59ac9284dee80ff9150b22f5578340b67e32d4bf plugin XEP-0045: fixed bad MAM detection on join diff -r 59ac9284dee8 -r 1b11da85492c sat/plugins/plugin_xep_0045.py --- a/sat/plugins/plugin_xep_0045.py Wed Dec 26 17:21:38 2018 +0100 +++ b/sat/plugins/plugin_xep_0045.py Wed Dec 26 17:21:39 2018 +0100 @@ -935,12 +935,15 @@ defer.returnValue(room) + @defer.inlineCallbacks def join(self, room_jid, nick, password=None): - if (not self._mam or not self.host.hasFeature(self.client, - mam.NS_MAM, room_jid)): - return self._joinLegacy(self.client, room_jid, nick, password) + has_mam = yield self.host.hasFeature(self.client, mam.NS_MAM, room_jid) + if not self._mam or not has_mam: + room = yield self._joinLegacy(self.client, room_jid, nick, password) + defer.returnValue(room) else: - return self._joinMAM(self.client, room_jid, nick, password) + room = yield self._joinMAM(self.client, room_jid, nick, password) + defer.returnValue(room) ## presence/roster ##