sendMessage method

Future<Message_text> sendMessage({
  1. required String conversationId,
  2. required String senderId,
  3. required String content,
})

Implementation

Future<Message_text> sendMessage({required String conversationId, required String senderId, required String content,}) async {
  if (kDebugMode) {
    print('🔄 Sending text message...');
  }
  if (kDebugMode) {
    print('Conversation ID: $conversationId');
  }
  if (kDebugMode) {
    print('Sender ID: $senderId');
  }

  // ✅ Prepare Message
  final message = Message_text(
    messageId: "", // The server will assign the messageId
    conversationId: conversationId,
    senderId: senderId,
    content: content,
    timestamp: Int64(DateTime.now().millisecondsSinceEpoch ~/ 1000),
    isRead: false,
    editedAt: Int64(0),
  );

  // ✅ Send via gRPC
  try {
    final response = await client.sendMessage_Text(message);
    if (kDebugMode) {
      print("✅ Sent message: ${response.messageId}");
    }
    return response;
  } catch (e, stack) {
    if (kDebugMode) {
      print("❌ gRPC sendMessage error: $e");
    }
    if (kDebugMode) {
      print("📄 Stacktrace: $stack");
    }
    rethrow;
  }
}