<Robot101> empathy unsubscribes people wrongly on XMPP
<Robot101> when you reject a subscription request
<Robot101> it just subscription='remove' it from the roster
<Robot101> that doesn't actually respond to the presence type='subscribe' stanza
<Robot101> so when you log out and in, you get it back, again.
<cassidy> it calls tp_contact_remove_async()
<cassidy> it calls http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html#Method:RemoveContacts
<sjoerd> yeah, that should set subscribe and publish to no
To my untrained eyes, it looks like this code in gabble_roster_handle_remove is responsible:
/* If the contact is really stored on the server, deleting their roster item
* is sufficient. If they're not, we might have some state resulting from
* a publish request or remote removal or something. */
if (item->subscription == GABBLE_ROSTER_SUBSCRIPTION_REMOVE)
/* These will clear a status of REMOVED_REMOTELY or ASK */
roster_item_set_publish (item, TP_SUBSCRIPTION_STATE_NO, NULL);
I think this _set_publish needs to be outside of the _REMOVE case - a contact who is _NONE or _TO on the roster could still be asking us for publishing permission.
(In reply to comment #1)
> I think this _set_publish needs to be outside of the _REMOVE case - a contact
> who is _NONE or _TO on the roster could still be asking us for publishing
Actually a lie - this doesn't cause an unsubscribe to be sent... hrm.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-gabble/issues/234.