Skip to content

Commit d86207f

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 80f5a85 commit d86207f

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
@@ -683,6 +683,8 @@ class ChannelUpdateEvent extends ChannelEvent {
683683
return value as int?;
684684
case ChannelPropertyName.channelPostPolicy:
685685
return ChannelPostPolicy.fromApiValue(value as int);
686+
case ChannelPropertyName.isRecentlyActive:
687+
return value as bool?;
686688
case ChannelPropertyName.folderId:
687689
return value as int?;
688690
case ChannelPropertyName.canAddSubscribersGroup:

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
@@ -659,6 +659,7 @@ class ZulipStream {
659659
GroupSettingValue? canSendMessageGroup; // TODO(server-10)
660660
GroupSettingValue? canSubscribeGroup; // TODO(server-10)
661661

662+
bool? isRecentlyActive; // TODO(server-10)
662663
// TODO(server-8): added in FL 199, was previously only on [Subscription] objects
663664
int? streamWeeklyTraffic;
664665

@@ -681,6 +682,7 @@ class ZulipStream {
681682
required this.canDeleteOwnMessageGroup,
682683
required this.canSendMessageGroup,
683684
required this.canSubscribeGroup,
685+
required this.isRecentlyActive,
684686
required this.streamWeeklyTraffic,
685687
});
686688

@@ -705,6 +707,7 @@ class ZulipStream {
705707
canDeleteOwnMessageGroup: subscription.canDeleteOwnMessageGroup,
706708
canSendMessageGroup: subscription.canSendMessageGroup,
707709
canSubscribeGroup: subscription.canSubscribeGroup,
710+
isRecentlyActive: subscription.isRecentlyActive,
708711
streamWeeklyTraffic: subscription.streamWeeklyTraffic,
709712
);
710713
}
@@ -742,6 +745,7 @@ enum ChannelPropertyName {
742745
canDeleteOwnMessageGroup,
743746
canSendMessageGroup,
744747
canSubscribeGroup,
748+
isRecentlyActive,
745749
streamWeeklyTraffic;
746750

747751
/// Get a [ChannelPropertyName] from a raw, snake-case string we recognize, else null.
@@ -827,6 +831,7 @@ class Subscription extends ZulipStream {
827831
required super.canDeleteOwnMessageGroup,
828832
required super.canSendMessageGroup,
829833
required super.canSubscribeGroup,
834+
required super.isRecentlyActive,
830835
required super.streamWeeklyTraffic,
831836
required this.desktopNotifications,
832837
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,
@@ -1263,6 +1266,8 @@ ChannelUpdateEvent channelUpdateEvent(
12631266
assert(value is int?);
12641267
case ChannelPropertyName.channelPostPolicy:
12651268
assert(value is ChannelPostPolicy);
1269+
case ChannelPropertyName.isRecentlyActive:
1270+
assert(value is bool?);
12661271
case ChannelPropertyName.folderId:
12671272
assert(value is int?);
12681273
case ChannelPropertyName.canAddSubscribersGroup:

0 commit comments

Comments
 (0)