correctly handle roster puches with subscription=remove. Fixes #6829
This commit is contained in:
parent
41815f9996
commit
2265a80e9f
1 changed files with 4 additions and 0 deletions
|
@ -739,6 +739,10 @@ class Interface:
|
||||||
# According to xep 0162, a contact is not an observer anymore when
|
# According to xep 0162, a contact is not an observer anymore when
|
||||||
# we asked for auth, so also remove him if ask changed
|
# we asked for auth, so also remove him if ask changed
|
||||||
old_groups = contacts[0].groups
|
old_groups = contacts[0].groups
|
||||||
|
if obj.sub == 'remove':
|
||||||
|
# another of our instance removed a contact. Remove it here too
|
||||||
|
self.roster.remove_contact(obj.jid, account, backend=True)
|
||||||
|
return
|
||||||
if contacts[0].sub != obj.sub or contacts[0].ask != obj.ask\
|
if contacts[0].sub != obj.sub or contacts[0].ask != obj.ask\
|
||||||
or old_groups != obj.groups:
|
or old_groups != obj.groups:
|
||||||
# c.get_shown_groups() has changed. Reflect that in
|
# c.get_shown_groups() has changed. Reflect that in
|
||||||
|
|
Loading…
Add table
Reference in a new issue