plugin XEP-0045: fixed bad MAM detection on join

This commit is contained in:
Goffi 2018-12-26 17:21:39 +01:00
commit d3d39bad5d

View file

@ -935,12 +935,15 @@ class SatMUCClient(muc.MUCClient):
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 ##