loadMore method
Future<void>
loadMore({ - bool failOnError = false,
})
Implementation
Future<void> loadMore({bool failOnError = false}) async {
if (state.hasMore && !state.loading.isLoading) {
try {
state = state.copyWith(loading: const ChatRoomLoadingState.loading());
final hasMore = !await timeline.paginateBackwards(20);
// wait for diffRx to be finished
state = state.copyWith(
hasMore: hasMore,
loading: const ChatRoomLoadingState.loaded(),
);
} catch (e, s) {
_log.severe('Error loading more messages', e, s);
state = state.copyWith(
loading: ChatRoomLoadingState.error(e.toString()),
);
if (failOnError) {
rethrow;
}
}
}
}