Quantcast
Channel: Ignite Realtime: Message List
Viewing all articles
Browse latest Browse all 11413

Re: lost messages when network is disconnected

$
0
0

Not so funny. This is how Open Source can be often - no developers or volunteers willing to invest time into free projects, no interest, no traction. Can't do much with that.

 

Now about the problem. There are a few ways to approach this. Personally i have set a system setting in Openfire (Server Settings > Client Connections > Disconnect clients after they have been idle for) to 30 seconds to make this issue appear as rarely as possible. This means that Openfire will disconnect clients that have been idle for 30 seconds and are not responding to ping requests. One can set it even lower, but it can have a side effect: clients disconnecting and reconnecting often.

 

This is only a workaround and there is still a chance to lose a message in this 30 or so seconds gap.

 

The best way to mitigate this is to implement Stream Management on the server and in the client. Openfire doesn't have this feature yet:

 

[OF-446] Implement XEP-0198: Stream Management - Jive Software Open Source

 

I'm not 100% sure, but a client most probably has to support this too. Smack library (which Spark and some other clients are based on) has added support for this recently:

 

[SMACK-333] Implement XEP-0198: Stream Management - Jive Software Open Source

 

But Spark is still using older Smack version and it is not known when it can be updated to the latest version as this could brake some functionalities (because of many changes in Smack).

 

Another approach would be to implement Message Delivery Receipts in a client. This way a client would get a notification that a message hasn't been delivered (or vice versa a notification that a message has been delivered). Again, Smack already supports this:

 

[SMACK-331] Add support for XEP-0184: Message Delivery Receipts - Jive Software Open Source

 

And the latest Spark builds are using this Smack version, but there is no GUI in Spark for this:

 

[SPARK-1238] Add support for XEP-0184: Message Delivery Receipts - Jive Software Open Source

 

I'm not aware of any client supporting this.

 

So, the conclusion is - no developers. If this is critical to you, i suggest to search for another open source project with more active development (like Tigase, ejabberd) or look into paid solutions.


Viewing all articles
Browse latest Browse all 11413

Trending Articles