markDelivered static method

Future<MarkDeliveredAck> markDelivered(
  1. P2PStream stream,
  2. List<String> messageIds, {
  3. String? folderPath,
})

Mark messages as delivered (client-side) - sets \Seen flag

Implementation

static Future<MarkDeliveredAck> markDelivered(
  P2PStream stream,
  List<String> messageIds, {
  String? folderPath,
}) async {
  try {
    final request = MarkDeliveredRequest(
      messageIds: messageIds,
      folderPath: folderPath,
    );

    // Encode and send request with length prefix
    final requestBytes = AccessFrame.encodeMarkDelivered(request);
    await _writeFrameStatic(stream, requestBytes);

    // Read acknowledgment
    final ackBytes = await _readFrameStatic(stream);
    return AccessFrame.decodeMarkDeliveredAck(ackBytes);
  } catch (e, stackTrace) {
    _logger.severe('Error marking messages delivered: $e', e, stackTrace);
    rethrow;
  }
}