plugin XEP-0045: fix calls to join

This commit is contained in:
Goffi 2023-06-07 22:26:17 +02:00
commit 33b5bb63b7

View file

@ -269,7 +269,9 @@ class XEP_0045(object):
def _ui_room_join_cb(self, data, profile):
room_jid = jid.JID(data['index'])
client = self.host.get_client(profile)
self.join(client, room_jid)
defer.ensureDeferred(
self.join(client, room_jid)
)
return {}
def _password_ui_cb(self, data, client, room_jid, nick):
@ -539,9 +541,12 @@ class XEP_0045(object):
if not room_jid.user:
room_jid.user, room_jid.host = room_jid.host, muc_service
else:
room_jid = self.get_unique_name(profile_key=client.profile)
room_jid = self.get_unique_name(client)
# TODO: error management + signal in bridge
d = self.join(client, room_jid, nick, options or None)
d = defer.ensureDeferred(
self.join(client, room_jid, nick, options or None)
)
d.addCallback(lambda room: [False] + self._get_room_joined_args(room, client.profile))
d.addErrback(self._join_eb, client)
return d
@ -697,7 +702,9 @@ class XEP_0045(object):
muc_service = client.muc_service or ""
nick = client.jid.user
room_jid = self.text_cmds.get_room_jid(room_raw, muc_service)
self.join(client, room_jid, nick, {})
defer.ensureDeferred(
self.join(client, room_jid, nick, {})
)
return False