# HG changeset patch # User Goffi # Date 1686169577 -7200 # Node ID 2ea567afc0cf7606a242de41e090dabcd5cf0a5a # Parent 72e91ea3bc168caaf2ec1a5d8c3cbb1fecd81bf9 plugin XEP-0045: fix calls to `join` diff -r 72e91ea3bc16 -r 2ea567afc0cf libervia/backend/plugins/plugin_xep_0045.py --- a/libervia/backend/plugins/plugin_xep_0045.py Wed Jun 07 22:25:49 2023 +0200 +++ b/libervia/backend/plugins/plugin_xep_0045.py Wed Jun 07 22:26:17 2023 +0200 @@ -269,7 +269,9 @@ 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 @@ 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 @@ 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