Class ThreadExperimental

Hierarchy

Constructors

Properties

_currentUserParticipated: boolean = false
client: MatrixClient
id: string
initialEventsFetched: boolean = !Thread.hasServerSideSupport
lastEvent: undefined | MatrixEvent
lastPendingEvent: undefined | MatrixEvent
pendingEventOrdering: PendingEventOrdering
pendingReplyCount: number = 0
replayEvents: null | MatrixEvent[] = []

An array of events to add to the timeline once the thread has been initialised with server suppport.

replayReceipts: CachedReceiptStructure[] = []
replyCount: number = 0
room: Room
rootEvent: undefined | MatrixEvent
timeline: MatrixEvent[] = []
timelineSet: EventTimelineSet

A reference to all the events ID at the bottom of the threads

hasServerSideFwdPaginationSupport: FeatureSupport = FeatureSupport.None
hasServerSideListSupport: FeatureSupport = FeatureSupport.None
hasServerSideSupport: FeatureSupport = FeatureSupport.None

Accessors

  • get length(): number
  • The number of messages in the thread Only count rel_type=m.thread as we want to exclude annotations from that number

    Returns number

  • get replyToEvent(): Optional<MatrixEvent>
  • A getter for the last event of the thread. This might be a synthesized event, if so, it will not emit any events to listeners.

    Returns Optional<MatrixEvent>

Methods

  • Add an event to the thread and updates the tail/root references if needed Will fire "Thread.update"

    Parameters

    • event: MatrixEvent

      The event to add

    • toStartOfTimeline: boolean

      whether the event is being added to the start (and not the end) of the timeline.

    • emit: boolean = true

      whether to emit the Update event if the thread was updated or not.

    Returns Promise<void>

  • Get the ID of the event that a given user has read up to, or null if we have received no read receipts from them.

    Returns

    ID of the latest event that the given user has read, or null.

    Parameters

    • userId: string

      The user ID to get read receipt event ID for

    • ignoreSynthesized: boolean = false

      If true, return only receipts that have been sent by the server, not implicit ones generated by the JS SDK.

    Returns null | string

  • Gets the latest receipt for a given user in the room

    Returns

    the latest receipts of the chosen type for the chosen user

    Parameters

    • userId: string

      The id of the user for which we want the receipt

    • ignoreSynthesized: boolean = false

      Whether to ignore synthesized receipts or not

    • receiptType: ReceiptType = ReceiptType.Read

      Optional. The type of the receipt we want to get

    Returns null | WrappedReceipt

  • Determines if the given user has read a particular event ID with the known history of the room. This is not a definitive check as it relies only on what is available to the room at the time of execution.

    Returns

    True if the user has read the event, false otherwise.

    Parameters

    • userId: string

      The user ID to check the read state of.

    • eventId: string

      The event ID to check if the user read.

    Returns boolean

  • Processes the receipts that were caught during initial sync When clients become aware of a thread, they try to retrieve those read receipts and apply them to the current thread

    Parameters

    Returns void

Generated using TypeDoc