NotificationsGrouperConfig class

Configuration that controls how NotificationsGrouper groups notifications.

Use NotificationsGrouperConfig.official (the default) to match the behavior of the official Bluesky social-app, or NotificationsGrouperConfig.lenient to keep the legacy behavior from bluesky <= 2.x. groupableReasons must not be empty and window, when set, must be positive; both are checked with assert when the config is used, since a const constructor cannot validate them at construction time.

Constructors

NotificationsGrouperConfig({required Set<KnownNotificationReason> groupableReasons, required Duration? window, required bool separateFollowBacks, required bool unreadIfAny, bool uniqueAuthors = true})
Creates a fully custom configuration.
const
NotificationsGrouperConfig.lenient()
Legacy behavior from bluesky <= 2.x.
const
NotificationsGrouperConfig.official()
Official Bluesky social-app parity (the default).
const

Properties

groupableReasons → Set<KnownNotificationReason>
The set of reasons whose notifications are eligible to be grouped.
final
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
separateFollowBacks → bool
Whether follow-backs (follows from accounts the viewer already follows) are separated into their own standalone groups.
final
uniqueAuthors → bool
Whether a group keeps at most one entry per author.
final
unreadIfAny → bool
Whether a group is considered unread if any of its notifications is unread. When false, the newest notification's isRead is used.
final
window → Duration?
The time window, anchored on the notification that opened a group.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited