Mercurial > libervia-backend
diff sat/plugins/plugin_xep_0077.py @ 3400:77ad87763f32
plugin XEP-0077: disconnect client when deleting self account:
where profile's XMPP account is deleted, its client must be explicitely disconnected to
avoid automatic reconnection, which would obviously fail.
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 12 Nov 2020 14:53:15 +0100 |
parents | aafb53248872 |
children | 8c25489bb79c |
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0077.py Thu Nov 12 14:53:15 2020 +0100 +++ b/sat/plugins/plugin_xep_0077.py Thu Nov 12 14:53:15 2020 +0100 @@ -303,4 +303,8 @@ iq_elt["to"] = to_jid.full() query_elt = iq_elt.addElement((NS_REG, "query")) query_elt.addElement("remove") - return iq_elt.send() + d = iq_elt.send() + if not to_jid or to_jid == jid.JID(client.jid.host): + d.addCallback(lambda __: client.entityDisconnect()) + return d +