loadMoreMessages method
Loads more messages (pagination)
Implementation
Future<List<ChatMessage>> loadMoreMessages({
required int page,
int limit = 20,
String searchText = "",
}) async {
// Use custom handler if provided
if (_apiHandlers?.loadMoreMessagesHandler != null) {
try {
final newMessages = await _apiHandlers!.loadMoreMessagesHandler!(
page: page, limit: limit, searchText: searchText);
// Add only non-duplicate messages
for (var message in newMessages) {
if (!_messages.any((m) => m.messageId == message.messageId)) {
_messages.add(message);
}
}
_triggerEvent(ChatEventType.messagesChanged, _messages);
return newMessages;
} catch (e) {
_log('Error in custom loadMoreMessagesHandler: $e');
_triggerEvent(ChatEventType.error, 'Failed to load more messages: $e');
return [];
}
} else {
return [];
}
}