From b8659213ae97bc4a69c0fc78558410b732c871c8 Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Thu, 25 Feb 2021 14:45:31 +0100 Subject: [PATCH] feat: Implement can request history calculation --- lib/src/timeline.dart | 5 +++++ test/timeline_test.dart | 1 + 2 files changed, 6 insertions(+) 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));