editMessage method
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);
}