editMessage method

  1. @override
Future<DeliveryStatus> editMessage(
  1. String messageId,
  2. Message updated
)
override

Updates updated on the backend. messageId is the local/remote ID of the message to replace.

Implementation

@override
Future<DeliveryStatus> editMessage(String messageId, Message updated) async {
  if (!_connected) return DeliveryStatus.fail('disconnected');
  await _delay();
  final i = _store.indexWhere(
      (x) => x.id == messageId || x.remoteId == messageId);
  if (i == -1) return DeliveryStatus.fail('message not found: $messageId');
  _store[i] = updated;
  _events.add(MessageEditedEvent(updated));
  return DeliveryStatus.ok(updated.remoteId ?? updated.id);
}