Skip to content

Commit b29663a

Browse files
committed
api [nfc]: Rename StreamMessage to ChannelMessage
Fixes parts of zulip#631
1 parent c89af39 commit b29663a

15 files changed

+44
-44
lines changed

lib/api/model/model.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@ sealed class Message {
536536

537537
factory Message.fromJson(Map<String, dynamic> json) {
538538
final type = json['type'] as String;
539-
if (type == 'stream') return StreamMessage.fromJson(json);
539+
if (type == 'stream') return ChannelMessage.fromJson(json);
540540
if (type == 'private') return DmMessage.fromJson(json);
541541
throw Exception("Message.fromJson: unexpected message type $type");
542542
}
@@ -571,15 +571,15 @@ enum MessageFlag {
571571
}
572572

573573
@JsonSerializable(fieldRename: FieldRename.snake)
574-
class StreamMessage extends Message {
574+
class ChannelMessage extends Message {
575575
@override
576576
@JsonKey(includeToJson: true)
577577
String get type => 'stream';
578578

579579
final String displayRecipient;
580580
final int streamId;
581581

582-
StreamMessage({
582+
ChannelMessage({
583583
required super.client,
584584
required super.content,
585585
required super.contentType,
@@ -602,11 +602,11 @@ class StreamMessage extends Message {
602602
required this.streamId,
603603
});
604604

605-
factory StreamMessage.fromJson(Map<String, dynamic> json) =>
606-
_$StreamMessageFromJson(json);
605+
factory ChannelMessage.fromJson(Map<String, dynamic> json) =>
606+
_$ChannelMessageFromJson(json);
607607

608608
@override
609-
Map<String, dynamic> toJson() => _$StreamMessageToJson(this);
609+
Map<String, dynamic> toJson() => _$ChannelMessageToJson(this);
610610
}
611611

612612
@JsonSerializable(fieldRename: FieldRename.snake)

lib/api/model/model.g.dart

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/model/message_list.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ mixin _MessageSequence {
266266

267267
@visibleForTesting
268268
bool haveSameRecipient(Message prevMessage, Message message) {
269-
if (prevMessage is StreamMessage && message is StreamMessage) {
269+
if (prevMessage is ChannelMessage && message is ChannelMessage) {
270270
if (prevMessage.streamId != message.streamId) return false;
271271
if (prevMessage.topic != message.topic) return false;
272272
} else if (prevMessage is DmMessage && message is DmMessage) {
@@ -279,7 +279,7 @@ bool haveSameRecipient(Message prevMessage, Message message) {
279279
return true;
280280

281281
// switch ((prevMessage, message)) {
282-
// case (StreamMessage(), StreamMessage()):
282+
// case (ChannelMessage(), ChannelMessage()):
283283
// // TODO(dart-3): this doesn't type-narrow prevMessage and message
284284
// case (DmMessage(), DmMessage()):
285285
// // …
@@ -358,14 +358,14 @@ class MessageListView with ChangeNotifier, _MessageSequence {
358358
switch (narrow) {
359359
case CombinedFeedNarrow():
360360
return switch (message) {
361-
StreamMessage() =>
361+
ChannelMessage() =>
362362
store.isTopicVisible(message.streamId, message.topic),
363363
DmMessage() => true,
364364
};
365365

366366
case StreamNarrow(:final streamId):
367-
assert(message is StreamMessage && message.streamId == streamId);
368-
if (message is! StreamMessage) return false;
367+
assert(message is ChannelMessage && message.streamId == streamId);
368+
if (message is! ChannelMessage) return false;
369369
return store.isTopicVisibleInStream(streamId, message.topic);
370370

371371
case TopicNarrow():

lib/model/narrow.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ sealed class Narrow {
2929
sealed class SendableNarrow extends Narrow {
3030
factory SendableNarrow.ofMessage(Message message, {required int selfUserId}) {
3131
switch (message) {
32-
case StreamMessage():
32+
case ChannelMessage():
3333
return TopicNarrow.ofMessage(message);
3434
case DmMessage():
3535
return DmNarrow.ofMessage(message, selfUserId: selfUserId);
@@ -72,7 +72,7 @@ class StreamNarrow extends Narrow {
7272

7373
@override
7474
bool containsMessage(Message message) {
75-
return message is StreamMessage && message.streamId == streamId;
75+
return message is ChannelMessage && message.streamId == streamId;
7676
}
7777

7878
@override
@@ -94,7 +94,7 @@ class StreamNarrow extends Narrow {
9494
class TopicNarrow extends Narrow implements SendableNarrow {
9595
const TopicNarrow(this.streamId, this.topic);
9696

97-
factory TopicNarrow.ofMessage(StreamMessage message) {
97+
factory TopicNarrow.ofMessage(ChannelMessage message) {
9898
return TopicNarrow(message.streamId, message.topic);
9999
}
100100

@@ -103,7 +103,7 @@ class TopicNarrow extends Narrow implements SendableNarrow {
103103

104104
@override
105105
bool containsMessage(Message message) {
106-
return (message is StreamMessage
106+
return (message is ChannelMessage
107107
&& message.streamId == streamId && message.topic == topic);
108108
}
109109

lib/model/recent_senders.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ class RecentSenders {
4040
final messagesByUserInStream = <(int, int), QueueList<int>>{};
4141
final messagesByUserInTopic = <(int, String, int), QueueList<int>>{};
4242
for (final message in messages) {
43-
if (message is! StreamMessage) continue;
44-
final StreamMessage(:streamId, :topic, :senderId, id: int messageId) = message;
43+
if (message is! ChannelMessage) continue;
44+
final ChannelMessage(:streamId, :topic, :senderId, id: int messageId) = message;
4545
(messagesByUserInStream[(streamId, senderId)] ??= QueueList()).add(messageId);
4646
(messagesByUserInTopic[(streamId, topic, senderId)] ??= QueueList()).add(messageId);
4747
}
@@ -60,8 +60,8 @@ class RecentSenders {
6060

6161
/// Records the necessary data from a new message.
6262
void handleMessage(Message message) {
63-
if (message is! StreamMessage) return;
64-
final StreamMessage(:streamId, :topic, :senderId, id: int messageId) = message;
63+
if (message is! ChannelMessage) return;
64+
final ChannelMessage(:streamId, :topic, :senderId, id: int messageId) = message;
6565
((streamSenders[streamId] ??= {})
6666
[senderId] ??= MessageIdTracker()).add(messageId);
6767
(((topicSenders[streamId] ??= {})[topic] ??= {})
@@ -73,7 +73,7 @@ class RecentSenders {
7373

7474
final messagesByUser = <int, List<int>>{};
7575
for (final id in event.messageIds) {
76-
final message = cachedMessages[id] as StreamMessage?;
76+
final message = cachedMessages[id] as ChannelMessage?;
7777
if (message == null) continue;
7878
(messagesByUser[message.senderId] ??= []).add(id);
7979
}

lib/model/unreads.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ class Unreads extends ChangeNotifier {
213213
}
214214

215215
switch (message) {
216-
case StreamMessage():
216+
case ChannelMessage():
217217
_addLastInStreamTopic(message.id, message.streamId, message.topic);
218218
case DmMessage():
219219
final narrow = DmNarrow.ofMessage(message, selfUserId: selfUserId);

lib/widgets/action_sheet.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ class QuoteAndReplyButton extends MessageActionSheetMenuItemButton {
245245
if (
246246
topicController != null
247247
&& topicController.textNormalized == kNoTopicTopic
248-
&& message is StreamMessage
248+
&& message is ChannelMessage
249249
) {
250250
topicController.value = TextEditingValue(text: message.topic);
251251
}

lib/widgets/message_list.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -540,7 +540,7 @@ class RecipientHeader extends StatelessWidget {
540540
Widget build(BuildContext context) {
541541
final message = this.message;
542542
return switch (message) {
543-
StreamMessage() => StreamMessageRecipientHeader(message: message,
543+
ChannelMessage() => StreamMessageRecipientHeader(message: message,
544544
showStream: narrow is CombinedFeedNarrow),
545545
DmMessage() => DmRecipientHeader(message: message),
546546
};
@@ -670,7 +670,7 @@ class StreamMessageRecipientHeader extends StatelessWidget {
670670
required this.showStream,
671671
});
672672

673-
final StreamMessage message;
673+
final ChannelMessage message;
674674
final bool showStream;
675675

676676
@override

test/example_data.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ const defaultStreamMessageStreamId = 123;
317317
///
318318
/// See also:
319319
/// * [dmMessage], to construct an example direct message.
320-
StreamMessage streamMessage({
320+
ChannelMessage streamMessage({
321321
int? id,
322322
User? sender,
323323
ZulipStream? stream,
@@ -335,7 +335,7 @@ StreamMessage streamMessage({
335335
// of the properties as we're constructing the data. That's probably OK
336336
// because (a) this is only for tests; (b) the types do get checked
337337
// dynamically in the constructor, so any ill-typing won't propagate further.
338-
return StreamMessage.fromJson(deepToJson({
338+
return ChannelMessage.fromJson(deepToJson({
339339
..._messagePropertiesBase,
340340
..._messagePropertiesFromSender(sender),
341341
..._messagePropertiesFromContent(content, contentMarkdown),
@@ -416,7 +416,7 @@ const _unreadMsgs = unreadMsgs;
416416
// Events.
417417
//
418418

419-
DeleteMessageEvent deleteMessageEvent(List<StreamMessage> messages) {
419+
DeleteMessageEvent deleteMessageEvent(List<ChannelMessage> messages) {
420420
assert(messages.isNotEmpty);
421421
final streamId = messages.first.streamId;
422422
final topic = messages.first.topic;
@@ -450,7 +450,7 @@ UpdateMessageEvent updateMessageEditEvent(
450450
messageIds: [messageId],
451451
flags: flags ?? origMessage.flags,
452452
editTimestamp: editTimestamp ?? 1234567890, // TODO generate timestamp
453-
origStreamId: origMessage is StreamMessage ? origMessage.streamId : null,
453+
origStreamId: origMessage is ChannelMessage ? origMessage.streamId : null,
454454
newStreamId: null,
455455
propagateMode: null,
456456
origTopic: null,
@@ -482,7 +482,7 @@ UpdateMessageEvent updateMessageMoveEvent(
482482
messageIds: messages.map((message) => message.id).toList(),
483483
flags: origMessage.flags,
484484
editTimestamp: 1234567890, // TODO generate timestamp
485-
origStreamId: origMessage is StreamMessage ? origMessage.streamId : null,
485+
origStreamId: origMessage is ChannelMessage ? origMessage.streamId : null,
486486
newStreamId: newStreamId,
487487
propagateMode: null,
488488
origTopic: origTopic,
@@ -510,7 +510,7 @@ UpdateMessageFlagsRemoveEvent updateMessageFlagsRemoveEvent(
510510
return MapEntry(
511511
message.id,
512512
switch (message) {
513-
StreamMessage() => UpdateMessageFlagsMessageDetail(
513+
ChannelMessage() => UpdateMessageFlagsMessageDetail(
514514
type: MessageType.stream,
515515
mentioned: mentioned,
516516
streamId: message.streamId,

test/model/message_list_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,7 @@ void checkInvariants(MessageListView model) {
969969
check(model.store.messages)[message.id].isNotNull().identicalTo(message);
970970
check(model.narrow.containsMessage(message)).isTrue();
971971

972-
if (message is! StreamMessage) continue;
972+
if (message is! ChannelMessage) continue;
973973
switch (model.narrow) {
974974
case CombinedFeedNarrow():
975975
check(model.store.isTopicVisible(message.streamId, message.topic))

test/model/recent_senders_test.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ void checkMatchesMessages(RecentSenders model, List<Message> messages) {
99
final Map<int, Map<int, Set<int>>> messagesByUserInStream = {};
1010
final Map<int, Map<String, Map<int, Set<int>>>> messagesByUserInTopic = {};
1111
for (final message in messages) {
12-
if (message is! StreamMessage) {
12+
if (message is! ChannelMessage) {
1313
throw UnsupportedError('Message of type ${message.runtimeType} is not expected.');
1414
}
1515

16-
final StreamMessage(:streamId, :topic, :senderId, id: int messageId) = message;
16+
final ChannelMessage(:streamId, :topic, :senderId, id: int messageId) = message;
1717

1818
((messagesByUserInStream[streamId] ??= {})
1919
[senderId] ??= {}).add(messageId);
@@ -73,7 +73,7 @@ void main() {
7373
setupModel(oldMessages);
7474
model.handleMessages(newMessages);
7575
final expectedMessages = [...oldMessages, ...newMessages]
76-
..removeWhere((m) => m is! StreamMessage);
76+
..removeWhere((m) => m is! ChannelMessage);
7777
checkMatchesMessages(model, expectedMessages);
7878
}
7979

test/model/unreads_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ void main() {
6666
continue;
6767
}
6868
switch (message) {
69-
case StreamMessage():
69+
case ChannelMessage():
7070
final perTopic = expectedStreams[message.streamId] ??= {};
7171
final messageIds = perTopic[message.topic] ??= QueueList();
7272
messageIds.add(message.id);
@@ -440,7 +440,7 @@ void main() {
440440
final expectedRemainingMessages = Set.of(messages);
441441
for (final message in messages) {
442442
final event = switch (message) {
443-
StreamMessage() => DeleteMessageEvent(
443+
ChannelMessage() => DeleteMessageEvent(
444444
id: 0,
445445
messageType: MessageType.stream,
446446
messageIds: [message.id],

test/widgets/action_sheet_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Future<void> setupToMessageActionSheet(WidgetTester tester, {
4141
await testBinding.globalStore.add(eg.selfAccount, eg.initialSnapshot());
4242
final store = await testBinding.globalStore.perAccount(eg.selfAccount.id);
4343
await store.addUser(eg.user(userId: message.senderId));
44-
if (message is StreamMessage) {
44+
if (message is ChannelMessage) {
4545
final stream = eg.stream(streamId: message.streamId);
4646
await store.addStream(stream);
4747
await store.addSubscription(eg.subscription(stream));

test/widgets/inbox_test.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ void main() {
8282
await tester.pumpAndSettle();
8383
}
8484

85-
List<StreamMessage> generateStreamMessages({
85+
List<ChannelMessage> generateChannelMessages({
8686
required ZulipStream stream,
8787
required int count,
8888
required List<MessageFlag> flags,
@@ -104,9 +104,9 @@ void main() {
104104
users: [eg.selfUser, eg.otherUser, eg.thirdUser, eg.fourthUser],
105105
unreadMessages: [
106106
eg.streamMessage(stream: stream1, topic: 'specific topic', flags: []),
107-
...generateStreamMessages(stream: stream1, count: 10, flags: []),
107+
...generateChannelMessages(stream: stream1, count: 10, flags: []),
108108
eg.streamMessage(stream: stream2, flags: []),
109-
...generateStreamMessages(stream: stream2, count: 40, flags: []),
109+
...generateChannelMessages(stream: stream2, count: 40, flags: []),
110110
eg.dmMessage(from: eg.otherUser, to: [eg.selfUser], flags: []),
111111
eg.dmMessage(from: eg.otherUser, to: [eg.selfUser, eg.thirdUser], flags: []),
112112
eg.dmMessage(from: eg.thirdUser, to: [eg.selfUser], flags: []),

test/widgets/message_list_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@ void main() {
682682
flags: [MessageFlag.starred]),
683683
eg.streamMessage(),
684684
];
685-
final StreamMessage messageWithMarker = messages[1];
685+
final ChannelMessage messageWithMarker = messages[1];
686686
await setupMessageListPage(tester, messages: messages);
687687
final rectsBefore = captureMessageRects(tester, messages, messageWithMarker);
688688
checkMarkersCount(edited: 0, moved: 0);

0 commit comments

Comments
 (0)