loadMessages method
Loads messages for the current chat
Implementation
Future<List<ChatMessage>> loadMessages({
int page = 1,
int limit = 20,
String searchText = "",
}) async {
// Use custom handler if provided
if (_apiHandlers?.loadMessagesHandler != null) {
try {
_isLoading = true;
_triggerEvent(ChatEventType.messagesChanged, _messages);
_messages = await _apiHandlers!.loadMessagesHandler!(
page: page, limit: limit, searchText: searchText);
if (ChatConfig.instance.autoMarkAsRead) {
Future.delayed(Duration(milliseconds: 500), () {
markMessagesAsRead();
});
}
_isLoading = false;
_triggerEvent(ChatEventType.messagesChanged, _messages);
return _messages;
} catch (e) {
_log('Error in custom loadMessagesHandler: $e');
_isLoading = false;
_triggerEvent(ChatEventType.error, 'Failed to load messages: $e');
return [];
}
} else {
return [];
}
}