converse.js icon indicating copy to clipboard operation
converse.js copied to clipboard

Sync roster does not remove pending contacts

Open guusdk opened this issue 5 years ago • 2 comments

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Start Converse, authenticate user, add new contact (leave contact in state 'pending')
  2. Re-install server software, recreate user with same username/jid
  3. Stop Converse, authenticate again. The pending contact will still show up.
  4. Press 're-sync contacts' button (highlighted in the screenshot below)

Expected behavior The pending contact is no longer displayed

Observed behavior The pending contact remains being displayed

Screenshots image

Environment (please complete the following information):

  • Desktop
  • Chrome
  • Converse.js version 6.0.1 (through Openfire's inVerse plugin).

Additional context When trying to delete the contact using the recyclebin icon, an error is shown:

Sorry, there was an error while trying to remove NameOfTheContact as a contact.

Logging out, opening the developer tools, issuing localStorage.clear(); will stop the contact from being listed.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

guusdk avatar Apr 03 '20 10:04 guusdk

I retested with 8.0.1, as that introduces a new default for persistent_store. Sadly, the issue remains.

guusdk avatar Nov 04 '21 14:11 guusdk

Resyncing shouldn't remove pending contacts, since pending contacts are not in the roster and resyncing simply refetches the roster.

Would be better to know what error you're getting when you try to delete the pending contact and to fix that.

jcbrand avatar Nov 04 '21 19:11 jcbrand