send method
Future<void>
send({
- required MeshDocument thread,
- required String path,
- required ChatMessage message,
- void onMessageSent()?,
Implementation
Future<void> send({
required MeshDocument thread,
required String path,
required ChatMessage message,
void Function(ChatMessage)? onMessageSent,
}) async {
if (message.text.trim().isNotEmpty || message.attachments.isNotEmpty) {
insertMessage(thread: thread, message: message);
final List<Future<void>> sentMessages = [];
if (notifyOnSend) {
for (final participant in getOnlineParticipants(thread)) {
sentMessages.add(sendMessageToParticipant(participant: participant, path: path, message: message));
}
}
outboundStatus.markSending(message.id);
await Future.wait(sentMessages);
outboundStatus.markDelivered(message.id);
onMessageSent?.call(message);
clear();
}
}