diff -r f385cd6127b2 -r f9744effae04 plugins/muc/muc.lib.lua --- a/plugins/muc/muc.lib.lua Thu Apr 28 22:57:53 2016 +0200 +++ b/plugins/muc/muc.lib.lua Thu Apr 28 23:34:19 2016 +0200 @@ -1322,6 +1322,11 @@ frozen[jid] = st.preserialize(presence); end end + local history = self._history; + if history then + frozen._last_message = st.preserialize(history[#history].stanza); + frozen._last_message_at = history[#history].timestamp; + end end return frozen; end @@ -1337,6 +1342,13 @@ local room_jid = frozen._jid; local room = _M.new_room(room_jid, frozen._data); + if frozen._last_message and frozen._last_message_at then + room._history = { + { stanza = st.deserialize(frozen._last_message), + timestamp = frozen._last_message_at, }, + }; + end + local occupants = {}; local occupant_sessions = {}; local room_name, room_host = jid_split(room_jid);