Skip to content

Commit 1b968fc

Browse files
committed
api: Add ZulipStream.isRecentlyActive
In the following commits, this will be used as one of the criteria for sorting channels in channel link autocomplete.
1 parent 3db4161 commit 1b968fc

File tree

6 files changed

+20
-0
lines changed

6 files changed

+20
-0
lines changed

lib/api/model/events.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,8 @@ class ChannelUpdateEvent extends ChannelEvent {
691691
case ChannelPropertyName.canSendMessageGroup:
692692
case ChannelPropertyName.canSubscribeGroup:
693693
return GroupSettingValue.fromJson(value);
694+
case ChannelPropertyName.isRecentlyActive:
695+
return value as bool?;
694696
case ChannelPropertyName.streamWeeklyTraffic:
695697
return value as int?;
696698
case null:

lib/api/model/events.g.dart

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

lib/api/model/model.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -669,6 +669,7 @@ class ZulipStream {
669669
GroupSettingValue? canSendMessageGroup; // TODO(server-10)
670670
GroupSettingValue? canSubscribeGroup; // TODO(server-10)
671671

672+
bool? isRecentlyActive; // TODO(server-10)
672673
// TODO(server-8): added in FL 199, was previously only on [Subscription] objects
673674
int? streamWeeklyTraffic;
674675

@@ -691,6 +692,7 @@ class ZulipStream {
691692
required this.canDeleteOwnMessageGroup,
692693
required this.canSendMessageGroup,
693694
required this.canSubscribeGroup,
695+
required this.isRecentlyActive,
694696
required this.streamWeeklyTraffic,
695697
});
696698

@@ -715,6 +717,7 @@ class ZulipStream {
715717
canDeleteOwnMessageGroup: subscription.canDeleteOwnMessageGroup,
716718
canSendMessageGroup: subscription.canSendMessageGroup,
717719
canSubscribeGroup: subscription.canSubscribeGroup,
720+
isRecentlyActive: subscription.isRecentlyActive,
718721
streamWeeklyTraffic: subscription.streamWeeklyTraffic,
719722
);
720723
}
@@ -752,6 +755,7 @@ enum ChannelPropertyName {
752755
canDeleteOwnMessageGroup,
753756
canSendMessageGroup,
754757
canSubscribeGroup,
758+
isRecentlyActive,
755759
streamWeeklyTraffic;
756760

757761
/// Get a [ChannelPropertyName] from a raw, snake-case string we recognize, else null.
@@ -837,6 +841,7 @@ class Subscription extends ZulipStream {
837841
required super.canDeleteOwnMessageGroup,
838842
required super.canSendMessageGroup,
839843
required super.canSubscribeGroup,
844+
required super.isRecentlyActive,
840845
required super.streamWeeklyTraffic,
841846
required this.desktopNotifications,
842847
required this.emailNotifications,

lib/api/model/model.g.dart

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

lib/model/channel.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,8 @@ class ChannelStoreImpl extends HasUserStore with ChannelStore {
458458
stream.canSendMessageGroup = event.value as GroupSettingValue;
459459
case ChannelPropertyName.canSubscribeGroup:
460460
stream.canSubscribeGroup = event.value as GroupSettingValue;
461+
case ChannelPropertyName.isRecentlyActive:
462+
stream.isRecentlyActive = event.value as bool?;
461463
case ChannelPropertyName.streamWeeklyTraffic:
462464
stream.streamWeeklyTraffic = event.value as int?;
463465
}

test/example_data.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,7 @@ ZulipStream stream({
471471
GroupSettingValue? canDeleteOwnMessageGroup,
472472
GroupSettingValue? canSendMessageGroup,
473473
GroupSettingValue? canSubscribeGroup,
474+
bool? isRecentlyActive,
474475
int? streamWeeklyTraffic,
475476
}) {
476477
if (channelPostPolicy == null) {
@@ -503,6 +504,7 @@ ZulipStream stream({
503504
canDeleteOwnMessageGroup: canDeleteOwnMessageGroup ?? GroupSettingValueNamed(nobodyGroup.id),
504505
canSendMessageGroup: canSendMessageGroup,
505506
canSubscribeGroup: canSubscribeGroup ?? GroupSettingValueNamed(nobodyGroup.id),
507+
isRecentlyActive: isRecentlyActive ?? true,
506508
streamWeeklyTraffic: streamWeeklyTraffic,
507509
);
508510
}
@@ -548,6 +550,7 @@ Subscription subscription(
548550
canDeleteOwnMessageGroup: stream.canDeleteOwnMessageGroup,
549551
canSendMessageGroup: stream.canSendMessageGroup,
550552
canSubscribeGroup: stream.canSubscribeGroup,
553+
isRecentlyActive: stream.isRecentlyActive,
551554
streamWeeklyTraffic: stream.streamWeeklyTraffic,
552555
desktopNotifications: desktopNotifications ?? false,
553556
emailNotifications: emailNotifications ?? false,
@@ -1271,6 +1274,8 @@ ChannelUpdateEvent channelUpdateEvent(
12711274
case ChannelPropertyName.canSendMessageGroup:
12721275
case ChannelPropertyName.canSubscribeGroup:
12731276
assert(value is GroupSettingValue);
1277+
case ChannelPropertyName.isRecentlyActive:
1278+
assert(value is bool?);
12741279
case ChannelPropertyName.streamWeeklyTraffic:
12751280
assert(value is int?);
12761281
}

0 commit comments

Comments
 (0)