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

Constructors

Methods

  • Stop syncing clients used for encryption

    Returns void

  • Called when the bridge gets an event through an appservice transaction.

    Returns

    Should the event be passed through to the bridge.

    Parameters

    Returns Promise<boolean>

  • Parameters

    Returns boolean

  • Start a sync loop for a given bridge user

    Returns

    Resolves when the sync has begun.

    Parameters

    • userId: string

      The user whos matrix client should start syncing

    Returns Promise<void>

  • Parameters

    • loginFlows: { flows: { type: string }[] }
      • flows: { type: string }[]

    Returns boolean

Generated using TypeDoc