Why the binded resource change when client trying to perform stream resumption? (XEP-0198)

Raymond Chan
Added about 4 years ago

Hello devs,

We're using Tigase 5.2.0 and we found a problem in stream resumption. The situation is like this:

There are 2 mobile clients, lets say A and B.

  1. A keep sending message to B

  2. B switch to airplane mode and A keep sending message

  3. B goes online again and try to perform stream resumption

We found that when B goes online and try to perform stream resumption, it failed. Upon further checking, the resource of user_b has changed, it is assigned with "tigase-x" where x is a random number, it is no longer binded to resource 'MyResource', although we set it explicitly with 'MyResource'. Then resumption failed with "unexpected-request", all the messages sent by A will then go to offline message after resumption timeout. B will retrieve them after logout and login. (Message are now out of order)

However, we found that if A did not send message to B before it goes online again, resumption works and resource not changed.

Any comments would be appreciated. :)

Replies (1)

Added by Wojciech Kapcia TigaseTeam about 4 years ago

Could you try to reproduce it with the latest stable (5.2.3) or nightly (7.0.0-snapshot)? there has been a couple of fixes after 5.2.0 in that area.