diff --git a/lib/src/timeline.dart b/lib/src/timeline.dart index f58677c3..bf23c729 100644 --- a/lib/src/timeline.dart +++ b/lib/src/timeline.dart @@ -68,6 +68,11 @@ class Timeline { bool _collectHistoryUpdates = false; final Set _historyUpdates = {}; + bool get canRequestHistory { + if (events.isEmpty) return true; + return events.last.type != EventTypes.RoomCreate; + } + Future requestHistory( {int historyCount = Room.DefaultHistoryCount}) async { if (!isRequestingHistory) { diff --git a/test/timeline_test.dart b/test/timeline_test.dart index 2a67644e..42fc115e 100644 --- a/test/timeline_test.dart +++ b/test/timeline_test.dart @@ -283,6 +283,7 @@ void main() { test('Request history', () async { timeline.events.clear(); + expect(timeline.canRequestHistory, true); await room.requestHistory(); await Future.delayed(Duration(milliseconds: 50));