Looks like when loading large history for a room when joining it, Spark tends to mix messages a bit (although it shows the correct time for them). Looks ok in Xabber. Screenshot attached.
As pointed in the recent forum thread, this might be related to deprecation of XEP-0091 since Openfire 3.10.3, which caused problems with offline messages in Spark (fixed in 2.7.5). Openfire is using urn:xmpp:delay now instead of jabber:x:delay. There is probably some part of MUC history code still using it.
The issue with bad order happens only with an old room to me, though i have tried to delete local history files. It doesn't happen with a new room i have created.
Debug incoming packets after login and opening room 'testpop'
Still seeing this in the Open_Chat sometimes (badorder.jpg)
And the fix introduced a side effect
I have noticed, that when i open Spark for the first time during the day it swaps a lot of messages. But subsequent openings of that room are ok (Open_Chat), even after a reboot.Maybe it is related to some cache of history which expires after some time.
Work in eliminated this issue