diff --git a/lib/src/client.dart b/lib/src/client.dart index 32d53d69..db21b511 100644 --- a/lib/src/client.dart +++ b/lib/src/client.dart @@ -212,6 +212,12 @@ class Client extends MatrixApi { EventTypes.Message, EventTypes.Encrypted, EventTypes.Sticker, + EventTypes.CallInvite, + EventTypes.CallAnswer, + EventTypes.CallReject, + EventTypes.CallHangup, + EventTypes.GroupCallPrefix, + EventTypes.GroupCallMemberPrefix, ]); // register all the default commands diff --git a/lib/src/room.dart b/lib/src/room.dart index c5dd5c21..c4fffd7c 100644 --- a/lib/src/room.dart +++ b/lib/src/room.dart @@ -160,7 +160,11 @@ class Room { return; } - final isMessageEvent = client.roomPreviewLastEvents.contains(state.type); + final isMessageEvent = { + EventTypes.Message, + EventTypes.Encrypted, + EventTypes.Sticker + }.contains(state.type); // We ignore events editing events older than the current-latest here so // i.e. newly sent edits for older events don't show up in room preview @@ -177,7 +181,8 @@ class Room { } // Ignore other non-state events - final stateKey = isMessageEvent ? '' : state.stateKey; + final stateKey = state.stateKey ?? + (client.roomPreviewLastEvents.contains(state.type) ? '' : null); final roomId = state.roomId; if (stateKey == null || roomId == null) { return;