OfflineMessageStrategy informs listeners even message has not been stored

If you check OfflineMessageStrategy.class line 190, you will see that method inform listeners without checking whether message is stored offline or not.

Line 191: messageStore.addMessage(message);

will check for the message should store or not. However, OfflineMessageListener will inform all listeners without this control.

<message type="chat" to="user@openfire" from="user2@openfire">
<composing xmlns="http://jabber.org/protocol/chatstates"></composing>
</message>

This is a chatstate message and it will not be stored offline but OfflineMessageListener will inform all listeners.

Hey, thanks for your report. You’re right. I’ve raised this ticket to track this bug: https://issues.igniterealtime.org/browse/OF-1975

I’ve suggested a fix here: https://github.com/igniterealtime/Openfire/pull/1586

2 Likes