Dont fail on users leaving a group chat

Fixes #9527
This commit is contained in:
Philipp Hörist 2019-01-05 18:04:13 +01:00
parent a91f5f2c49
commit 633795b7f4
1 changed files with 10 additions and 4 deletions

View File

@ -226,10 +226,16 @@ class MUC:
# handled by the opened ChatControl
break
# We remove the contact from the MUC, but there could be
# a PrivateChatControl open, so we update the contacts presence
contact.presence = properties.type
app.contacts.remove_gc_contact(self._account, contact)
if contact is None:
# If contact is None, its probably that a user left from a not
# insync MUC, can happen on older servers
log.warning('Unknown contact left groupchat: %s',
properties.jid)
else:
# We remove the contact from the MUC, but there could be
# a PrivateChatControl open, so we update the contacts presence
contact.presence = properties.type
app.contacts.remove_gc_contact(self._account, contact)
log.info('User %s left', properties.jid)
self._raise_muc_event('muc-user-left', properties)
raise nbxmpp.NodeProcessed