The type of relation involved, such as "m.annotation", "m.reference", "m.replace", etc.
The relation event's type, such as "m.reaction", etc.
The client which created this instance. For backwards compatibility also accepts a Room.
Private
annotationsPrivate
annotationsPrivate
Readonly
clientPrivate
creationReadonly
eventThe relation event's type, such as "m.reaction", etc.
Private
relationReadonly
relationThe type of relation involved, such as "m.annotation", "m.reference", "m.replace", etc.
Private
relationsPrivate
sortedPrivate
targetPrivate
addAdd relation events to this collection.
The new relation event to be added.
Rest
...args: Parameters<EventHandlerMap[T]>Rest
...args: Parameters<EventHandlerMap[T]>Get all events in this collection grouped by sender.
This is currently only supported for the annotation relation type.
An object with each relation sender as a key and the matching Set of events for that sender as a value.
Returns the most recent (and allowed) m.replace relation, if any.
This is currently only supported for the m.replace relation type,
once the target event is known, see addEvent
.
Get all relation events in this collection.
These are currently in the order of insertion to this collection, which
won't match timeline order in the case of scrollback.
TODO: Tweak addEvent
to insert correctly for scrollback.
Relation events in insertion order.
Get all events in this collection grouped by key and sorted by descending event count in each group.
This is currently only supported for the annotation relation type.
An array of [key, events] pairs sorted by descending event count. The events are stored in a Set (which preserves insertion order).
Private
maybePrivate
onFor relations that have been redacted, we want to remove them from aggregation data sets and emit an update event.
To do so, we listen for Event.beforeRedaction
, which happens:
The original relation event that is about to be redacted.
Private
onListens for event status changes to remove cancelled events.
The event whose status has changed
The new status
Optional
event: EventEmitterEvents | RelationsEventPrivate
removePrivate
removeRemove relation event from this collection.
The relation event to remove.
Generated using TypeDoc
A container for relation events that supports easy access to common ways of aggregating such events. Each instance holds events that of a single relation type and event type. All of the events also relate to the same original event.
The typical way to get one of these containers is via EventTimelineSet#getRelationsForEvent.