From 7a3056f741fa559c66532b90b87e1bcda6ece83e Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Wed, 13 Nov 2019 14:08:27 +0000 Subject: [PATCH] [Room] Fix last event calculation --- lib/src/Room.dart | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/src/Room.dart b/lib/src/Room.dart index 9d4819a..6103220 100644 --- a/lib/src/Room.dart +++ b/lib/src/Room.dart @@ -156,12 +156,17 @@ class Room { Event get lastEvent { ChatTime lastTime = ChatTime(0); Event lastEvent = null; - states.forEach((String key, RoomState state) { - if (state.time != null && state.time > lastTime) { + for (final entry in states.entries) { + final RoomState state = entry.value; + if ((state.time != null && state.time > lastTime) || + state.typeKey == "m.room.message") { lastTime = state.time; lastEvent = state.timelineEvent; + if (state.typeKey == "m.room.message") { + break; + } } - }); + } return lastEvent; }