diff --git a/lib/src/timeline.dart b/lib/src/timeline.dart index b1318c3e..f92d07a8 100644 --- a/lib/src/timeline.dart +++ b/lib/src/timeline.dart @@ -599,8 +599,8 @@ class Timeline { var event = Event.fromMatrixEvent(matrixEvent, room); if (event.type == EventTypes.Encrypted && encryption != null) { event = await encryption.decryptRoomEvent(room.id, event); - if (event.type == EventTypes.Encrypted || - event.messageType == MessageTypes.BadEncrypted || + if (event.type == EventTypes.Encrypted && + event.messageType == MessageTypes.BadEncrypted && event.content['can_request_session'] == true) { // Await requestKey() here to ensure decrypted message bodies await event.requestKey();