Skip to content

Commit 916dc3e

Browse files
committed
api/notif [nfc]: Rename FcmMessageStreamRecipient to FcmMessageChannelRecipient
Fixes parts of #631
1 parent 1815326 commit 916dc3e

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

lib/api/notifications.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class MessageFcmMessage extends FcmMessageWithIdentity {
142142
break;
143143
case FcmMessageDmRecipient(:var allRecipientIds):
144144
result['pm_users'] = const _IntListConverter().toJson(allRecipientIds);
145-
case FcmMessageStreamRecipient():
145+
case FcmMessageChannelRecipient():
146146
result['stream_id'] = const _IntConverter().toJson(recipient.streamId);
147147
if (recipient.streamName != null) result['stream'] = recipient.streamName;
148148
result['topic'] = recipient.topic;
@@ -159,15 +159,15 @@ sealed class FcmMessageRecipient {
159159
// There's also a `recipient_type` field, but we don't really need it.
160160
// The presence or absence of `stream_id` is just as informative.
161161
return json.containsKey('stream_id')
162-
? FcmMessageStreamRecipient.fromJson(json)
162+
? FcmMessageChannelRecipient.fromJson(json)
163163
: FcmMessageDmRecipient.fromJson(json);
164164
}
165165
}
166166

167167
/// An [FcmMessageRecipient] for a Zulip message to a stream.
168168
@JsonSerializable(fieldRename: FieldRename.snake, createToJson: false)
169169
@_IntConverter()
170-
class FcmMessageStreamRecipient extends FcmMessageRecipient {
170+
class FcmMessageChannelRecipient extends FcmMessageRecipient {
171171
// Sending the stream ID in notifications is new in Zulip Server 5.
172172
// But handling the lack of it would add complication, and we don't strictly
173173
// need to -- we intend (#268) to cut pre-server-5 support before beta release.
@@ -182,10 +182,10 @@ class FcmMessageStreamRecipient extends FcmMessageRecipient {
182182

183183
final String topic;
184184

185-
FcmMessageStreamRecipient({required this.streamId, required this.streamName, required this.topic});
185+
FcmMessageChannelRecipient({required this.streamId, required this.streamName, required this.topic});
186186

187-
factory FcmMessageStreamRecipient.fromJson(Map<String, dynamic> json) =>
188-
_$FcmMessageStreamRecipientFromJson(json);
187+
factory FcmMessageChannelRecipient.fromJson(Map<String, dynamic> json) =>
188+
_$FcmMessageChannelRecipientFromJson(json);
189189
}
190190

191191
/// An [FcmMessageRecipient] for a Zulip message that was a DM.

lib/api/notifications.g.dart

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

lib/notifications/display.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class NotificationDisplayManager {
111111
name: zulipLocalizations.notifSelfUser),
112112
messages: [],
113113
isGroupConversation: switch (data.recipient) {
114-
FcmMessageStreamRecipient() => true,
114+
FcmMessageChannelRecipient() => true,
115115
FcmMessageDmRecipient(:var allRecipientIds) when allRecipientIds.length > 2 => true,
116116
FcmMessageDmRecipient() => false,
117117
});
@@ -123,9 +123,9 @@ class NotificationDisplayManager {
123123
// group-DM threads (pending #794) get titled with the latest sender, rather than
124124
// the first.
125125
messagingStyle.conversationTitle = switch (data.recipient) {
126-
FcmMessageStreamRecipient(:var streamName?, :var topic) =>
126+
FcmMessageChannelRecipient(:var streamName?, :var topic) =>
127127
'#$streamName > $topic',
128-
FcmMessageStreamRecipient(:var topic) =>
128+
FcmMessageChannelRecipient(:var topic) =>
129129
'#(unknown channel) > $topic', // TODO get stream name from data
130130
FcmMessageDmRecipient(:var allRecipientIds) when allRecipientIds.length > 2 =>
131131
zulipLocalizations.notifGroupDmConversationLabel(
@@ -220,7 +220,7 @@ class NotificationDisplayManager {
220220

221221
static String _conversationKey(MessageFcmMessage data, String groupKey) {
222222
final conversation = switch (data.recipient) {
223-
FcmMessageStreamRecipient(:var streamId, :var topic) => 'stream:$streamId:$topic',
223+
FcmMessageChannelRecipient(:var streamId, :var topic) => 'stream:$streamId:$topic',
224224
FcmMessageDmRecipient(:var allRecipientIds) => 'dm:${allRecipientIds.join(',')}',
225225
};
226226
return '$groupKey|$conversation';
@@ -263,7 +263,7 @@ class NotificationDisplayManager {
263263
if (account == null) return; // TODO(log)
264264

265265
final narrow = switch (data.recipient) {
266-
FcmMessageStreamRecipient(:var streamId, :var topic) =>
266+
FcmMessageChannelRecipient(:var streamId, :var topic) =>
267267
TopicNarrow(streamId, topic),
268268
FcmMessageDmRecipient(:var allRecipientIds) =>
269269
DmNarrow(allRecipientIds: allRecipientIds, selfUserId: account.userId),

test/api/notifications_test.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ void main() {
7676
..senderAvatarUrl.equals(Uri.parse(streamJson['sender_avatar_url']!))
7777
..senderFullName.equals(streamJson['sender_full_name']!)
7878
..zulipMessageId.equals(12345)
79-
..recipient.isA<FcmMessageStreamRecipient>().which((it) => it
79+
..recipient.isA<FcmMessageChannelRecipient>().which((it) => it
8080
..streamId.equals(42)
8181
..streamName.equals(streamJson['stream']!)
8282
..topic.equals(streamJson['topic']!))
@@ -94,7 +94,7 @@ void main() {
9494

9595
test('optional fields missing cause no error', () {
9696
check(parse({ ...streamJson }..remove('stream')))
97-
.recipient.isA<FcmMessageStreamRecipient>().which((it) => it
97+
.recipient.isA<FcmMessageChannelRecipient>().which((it) => it
9898
..streamId.equals(42)
9999
..streamName.isNull());
100100
});
@@ -251,7 +251,7 @@ extension MessageFcmMessageChecks on Subject<MessageFcmMessage> {
251251
Subject<String> get content => has((x) => x.content, 'content');
252252
}
253253

254-
extension FcmMessageStreamRecipientChecks on Subject<FcmMessageStreamRecipient> {
254+
extension FcmMessageChannelRecipientChecks on Subject<FcmMessageChannelRecipient> {
255255
Subject<int> get streamId => has((x) => x.streamId, 'streamId');
256256
Subject<String?> get streamName => has((x) => x.streamName, 'streamName');
257257
Subject<String> get topic => has((x) => x.topic, 'topic');

0 commit comments

Comments
 (0)