Options
All
  • Public
  • Public/Protected
  • All
Menu

The EncryptedEventBroker ensures that we provide a single encrypted event to bridges from potentially multiple /sync responses. The broker is also responsible for starting these syncs depending on which users can read the room.

More broadly speaking, the bridge handles encrypted events currently by listening over the AS stream for encrypted messages, and then spinning up a /sync in order to read the message. In order to decrypt them, we proxy these requests through https://github.com/matrix-org/pantalaimon.

+-------------------+ | Homeserver | +--------+----------+ ^ | Proxy | | +--------+----------+ | Pantalaimon | +--------+----------+ ^ /sync requests | | +--------+----------+ | Bridge | +-------------------+

Hierarchy

  • EncryptedEventBroker

Index

Constructors

constructor

Methods

close

  • close(): void

onASEvent

  • onASEvent(event: WeakEvent): Promise<boolean>
  • Called when the bridge gets an event through an appservice transaction.

    Parameters

    Returns Promise<boolean>

    Should the event be passed through to the bridge.

shouldAvoidCull

  • shouldAvoidCull(intent: Intent): boolean

startSyncingUser

  • startSyncingUser(userId: string): Promise<void>
  • Start a sync loop for a given bridge user

    Parameters

    • userId: string

      The user whos matrix client should start syncing

    Returns Promise<void>

    Resolves when the sync has begun.

Static supportsLoginFlow

  • supportsLoginFlow(loginFlows: { flows: { type: string }[] }): boolean

Generated using TypeDoc