Hello, I am facing an issue with message loss while using openfire 4.7.5. When a client disconnects due to a network issue, the openfire server is not aware of the client being offline and still considers it as online. As a result, openfire does not save the messages in the ofoffline table when sending messages to the client. Additionally, asynchronous message sending is used, so the server is unaware of whether the message delivery to the client was successful or not. This leads to message loss. Could you please advise on how to resolve this problem?
As you’ve found, Openfire (or any server) cannot reliably predict what messages were indeed received/stored by clients. There is an XMPP extension called Message Archive Management that helps: it allows clients to request (parts of) a message archive based on demand. The Openfire plugin Monitoring Service implements this protocol.