Think I found a bug in Offline Messages

Hi, I think I have found a bug in offline messages.

This is what normally happens

Bob is offline

Mack is online

Mack sends a message to Bob

When Bob comes online he gets the offline message

Here is the bug

Bob is online

Mack is online

Bob then goes offline (wifi or internet goes down 1 min)

openfire still sees Bob online because the Idle Connections Policy has not timed out Bob yet.

Mack (seeing that Bob is online) sends a message

Bob does not get this message when he reconnects

Only if Mack waits for Bob’s status to become offline will Bob get the offline message.

There this this limbo period (where a message is not sent) where a user disconnects, openfire still sees the connection open and a user sends a message to the disconnected user before their status goes offline.

Can anyone else recreate this issue?

That’s “by design” when using XMPP over TCP without Stream Management (XEP-0198).

Ok so that was the issue (Feature Request: XEP-0198 Stream Management )

No support for stream management (XEP - 0198) in openfire? Looks to be fixed https://issues.igniterealtime.org/browse/OF-446 in 4.0.0?

Openfire only has a partial support. A client must support Stream management too. Explanation: options to mitigate messages loss because of network problems

Btw, Flow, as Spark is getting Smack 4.1.x with Stream management support. Is it enough (when a server supports it) or does it need additional work to make it working in Spark?