Why if i refused a request contact, it is added to my contact list anyway?
To my surprise, I was able to reproduce this with the inVerse plugin version 11.0.1 Release 1 on Openfire 5.1.0 Alpha
I’ve logged in with “John”, then used another client to log in with “Jacob” after which I made Jacob send a subscription request to John. That shows in John’s client, as expected.
Next, I’ve rejected the contact request (by clicking ‘remove’), and confirmed the ‘remove and decline contact request’ dialog.
Surprisingly, Jacob still shows up in the list of contacts in John’s client:
That is quite unexpected. John no longer shows up in the contact list in Jacobs client, as expected.
On a positive note: there doesn’t appear to be presence subscription (John can’t see if Jacob is online). Still, as John has expressed to have no interest in Jacob, it’s weird that they show up in their contact list.
Looking at Openfire’s admin console, there unexpectedly is a entry in John’s roster for Jacob. There isn’t a subscription (it’s of type ‘none’).
John is not in the roster of Jacob (as expected).
I’m not sure if this is caused by an issue in Openfire or in Converse.js yet.
If this is Openfire adding the user to the roster, then this seems to be a violation of this definition in RFC 6121 section 3.1.3:
Security Warning: Until and unless the contact approves the subscription request as described under Section 3.1.4, the contact’s server MUST NOT add an item for the user to the contact’s roster.



