I'm getting a lot of duplicate messages in one-on-one chats on the Conversations client. I receive duplicate messages from remote senders, as well as carbon copies.
When this happens, I notice that in the admin console, more than one session exists for the resource.
Here, the set of full jids got replaced by a list of full jids - allowing for duplicates.
Guus der Kinderen November 2, 2018 at 4:07 PM
I seem to reproduce creating stale content in the "usersSessions" cache by simply logging in and logging out again. I did this with the Inverse plugin on a local build, that's pretty recent.
Guus der Kinderen November 2, 2018 at 3:28 PM
I've found that the "usersSessions" cache in RoutingTableImpl, which maps bare JID to full JIDs, has a lot of duplicate full JID values for one entry. Additionally, there are full JIDs in the collection that relate to sessions that are already gone.
Simply preventing duplicate full JIDs does therefor not seem the correct solution (although it does help). Something appears to be preventing JIDs from getting removed from that cache.
I'm getting a lot of duplicate messages in one-on-one chats on the Conversations client. I receive duplicate messages from remote senders, as well as carbon copies.
When this happens, I notice that in the admin console, more than one session exists for the resource.