diff --git a/src/common/connection.py b/src/common/connection.py index fbec01b65..2aa27ec4e 100644 --- a/src/common/connection.py +++ b/src/common/connection.py @@ -2194,6 +2194,7 @@ class Connection: self.connection.getRoster().delItem(jid) else: self.connection.getRoster().Unsubscribe(jid) + self.update_contact(jid, '', []) def _continue_unsubscribe(self, con, iq_obj, agent): if iq_obj.getTag('error'): diff --git a/src/roster_window.py b/src/roster_window.py index e4a93df89..c4ea26c29 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -1559,9 +1559,15 @@ _('If "%s" accepts this request you will know his or her status.') % jid) for cc in ccs: cc.groups = contact.groups self.add_contact_to_roster(cc.jid, account) - if gajim.interface.msg_win_mgr.has_window(contact.jid, account): + if not remove_auth: + contact.name = '' + contact.groups = [] + contact.sub = 'from' + gajim.contacts.add_contact(account, contact) + self.add_contact_to_roster(contact.jid, account) + elif gajim.interface.msg_win_mgr.has_window(contact.jid, account): c = gajim.contacts.create_contact(jid = contact.jid, - name = contact.name, groups = [_('Not in Roster')], + name = '', groups = [_('Not in Roster')], show = 'not in roster', status = '', ask = 'none', keyID = contact.keyID) gajim.contacts.add_contact(account, c)