RtcNotificationContent class

The content of an MSC4075 RTC notification event.

This is a data class representing the RTC-specific fields of the event. For mentions use Event.mentions and related member event use id use Event.relationshipEventId of the respective event.

Constructors

RtcNotificationContent({required DateTime senderTs, required RtcNotificationType notificationType, Duration lifetime = defaultLifetime})
const
RtcNotificationContent.create({required RtcNotificationType type, Duration lifetime = defaultLifetime})
factory
RtcNotificationContent.fromEvent(Event event)
factory

Properties

cappedLifetime → Duration
Returns the capped lifetime, ensuring it doesn't exceed maxLifetime
no setter
hashCode → int
The hash code for this object.
no setterinherited
lifetime → Duration
The relative time to sender_ts for which the notification is active
final
notificationType → RtcNotificationType
The type of notification (ring or notification)
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
senderTs → DateTime
The local timestamp observed by the sender device
final

Methods

getEffectiveTimestamp(DateTime originServerTs) → DateTime
Returns the effective timestamp, falling back to origin_server_ts if needed
isExpired(DateTime originServerTs) → bool
Checks if this notification has expired
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
shouldNotifyUser({required Event event, required String currentUserId, bool isAlreadyRinging = false}) → bool
Validates that this RTC notification event should cause the client to notify the user according to MSC4075 rules.
toJson() → Map<String, Object?>
toString() → String
A string representation of this object.
inherited

Operators

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

Constants

defaultLifetime → const Duration
The default lifetime for notifications (30 seconds)
eventType → const String
maxLifetime → const Duration
The maximum recommended lifetime (2 minutes)
maxTimestampDeviation → const Duration
Max deviation between sender_ts and origin_server_ts before fallback (20s)