Closed eastcoastcoder closed 1 year ago
I think there are more issues here but I'm not sure how exactly this is supposed to flow. In mutual mode this is what I'm seeing. The problems start happening if I attempt to "retract" a request that has been sent or reject a request that has been received. The request is still visible on the opposing side but now looks like they initiated the request.
The goal is to do a Facebook style approach of receiving and sending requests where if either side rejects or removes the other, they are gone from both contact lists.
A: Sends a request to B A's contact record for B is: subscription = 'none', ask = 'subscribe'
B: Receives a request from A A's contact record for B is: subscription = 'none', ask = null
B: Accepts A's request A's contact record for B is: subscription = 'both', ask = null B's contact record for A is: subscription = 'both', ask = null
Everything up to this point is good
So again with retracting
A: Sends a request to B
A cancels request ConnectyCube.chat.contactList.remove(userId)
A's contact record for B is: Removed
B's contact record for A is: subscription = 'none', ask = null
So now although the request was cancelled from A it still looks like a request is there on B's side.
So again with accepting: A's contact record for B is: subscription = 'both', ask = null B's contact record for A is: subscription = 'both', ask = null
Then removing:
A removes contact ConnectyCube.chat.contactList.remove(userId)
A's contact record for B is: Removed
B's contact record for A is: subscription = 'none', ask = null
When it's in this state, it effectively makes it appear that the opposite party (that was removed) is now receiving a request from the person who removed them.
This might be a bit hard to follow but I think the remove logic should be doing something different when in mutual mode. There is some disconnect here that I may be missing.
Edit: I've found an article detailing roster and subscriptions but it's still a little inconsistent with what I am expecting.
https://www.blikoontech.com/tutorials/xmpp-made-simple-roster-and-presence-explained
For there contacts list implementation We highly suggest to switch to Address Book https://developers.connectycube.com/reactnative/address-book plus Last Activity https://developers.connectycube.com/reactnative/messaging?id=get-last-activity
ConnectyCube.chat.contactList
is not used widely and will be deprecated in future releases
Hello, I've been having an issue with getting the promise to resolve when confirming a contact. I think the issue here is just that the resolve callback function isn't being passed along properly to the add method. This works fine when I use the non-mutual mode.