Could you be more specific on how to reproduce the problem? I just modified our test case (JUnit) to cover more possibilities and it’‘s working fine for me. I assume that you are using the latest Messenger version. BTW, an enhancement I was going to add was to consider negative priorities so that resources with negative priorities won’'t receive messages.
B and C will be started as same user but with different resssources.
A sends a message to B -> it arrives at B. B has priority 1 (correct)
C starts with priority 5 (higher than B)
if new A sends a message to B or C it arrives at B but should arrive at C.
I cant reproduce it all the times but in most cases the error is reproducable.
But the funny thing is, if the client B has the prio 0 and the new startet client C has the prio 5 or so then it works as described in the protocol and C gets the new receiver for messages as soon he is connected.
If I start both clients B and C bevor sending a message from A everything works correct and C with higher prio is the receiver. It looks like that the server has a problem when routing a message to a new ressource joining while a chat is startet already.
I know Its a rather tricky bug but our application is depending on this feature and it always worked with jabberd.
Thanks
guido
ps: the enhancement is nice as well to mark clients that are online not to receive messages at all. thanks