From 259c9cade653e1cc24b09a85eb5001f650983746 Mon Sep 17 00:00:00 2001 From: Sorunome Date: Thu, 30 Sep 2021 14:34:28 +0200 Subject: [PATCH] fix: missing range check When requesting history the `start` parameter could become larger than the loaded events from the database were, resulting in an error when attempting to request history. --- lib/src/database/hive_database.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/src/database/hive_database.dart b/lib/src/database/hive_database.dart index c5202c66..88101ac6 100644 --- a/lib/src/database/hive_database.dart +++ b/lib/src/database/hive_database.dart @@ -389,8 +389,10 @@ class FamedlySdkHiveDatabase extends DatabaseApi { // Combine those two lists while respecting the start and limit parameters. final end = min( timelineEventIds.length, start + (limit ?? timelineEventIds.length)); - final eventIds = - sendingEventIds + timelineEventIds.getRange(start, end).toList(); + final eventIds = sendingEventIds + + (start < timelineEventIds.length + ? timelineEventIds.getRange(start, end).toList() + : []); return await _getEventsByIds(eventIds.cast(), room); }