Skip to content

Commit 2a5a5cb

Browse files
committed
api: Add localMessageId to MessageEvent
This will be used for local echoing. local_message_id on message event is not yet fully documented; see CZO discussion: https://chat.zulip.org/#narrow/channel/412-api-documentation/topic/local_id.2C.20queue_id.2Fsender_queue_id/near/2135340
1 parent 2c4bafa commit 2a5a5cb

File tree

4 files changed

+16
-3
lines changed

4 files changed

+16
-3
lines changed

lib/api/model/events.dart

+8-1
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,14 @@ class MessageEvent extends Event {
682682
@JsonKey(readValue: _readMessageValue, includeToJson: false)
683683
final Message message;
684684

685-
MessageEvent({required super.id, required this.message});
685+
// When present, this equals the "local_id" parameter
686+
// from a previous [sendMessage] call by us.
687+
//
688+
// This is not yet fully documented. See CZO discussion for reference:
689+
// https://chat.zulip.org/#narrow/channel/412-api-documentation/topic/local_id.2C.20queue_id.2Fsender_queue_id/near/2135340
690+
final String? localMessageId;
691+
692+
MessageEvent({required super.id, required this.message, required this.localMessageId});
686693

687694
static Map<String, dynamic> _readMessageValue(Map<dynamic, dynamic> json, String key) =>
688695
{...json['message'] as Map<String, dynamic>, 'flags': json['flags']};

lib/api/model/events.g.dart

+6-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/api/model/events_checks.dart

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ extension SubscriptionUpdateEventChecks on Subject<SubscriptionUpdateEvent> {
3939

4040
extension MessageEventChecks on Subject<MessageEvent> {
4141
Subject<Message> get message => has((e) => e.message, 'message');
42+
Subject<String?> get localMessageId => has((e) => e.localMessageId, 'localMessageId');
4243
}
4344

4445
extension UpdateMessageEventChecks on Subject<UpdateMessageEvent> {

test/example_data.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,7 @@ UserTopicEvent userTopicEvent(
623623
}
624624

625625
MessageEvent messageEvent(Message message) =>
626-
MessageEvent(id: 0, message: message);
626+
MessageEvent(id: 0, message: message, localMessageId: null);
627627

628628
DeleteMessageEvent deleteMessageEvent(List<StreamMessage> messages) {
629629
assert(messages.isNotEmpty);

0 commit comments

Comments
 (0)