Mercurial > libervia-backend
changeset 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 | 506fa3d91d3a |
children | 5c97ad3d1653 |
files | sat/plugins/plugin_xep_0077.py |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
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 +