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

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


  • EncryptedEventBroker



  • Stop syncing clients used for encryption

    Returns void

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


    Should the event be passed through to the bridge.


    Returns Promise<boolean>

  • Parameters

    Returns boolean

  • Start a sync loop for a given bridge user


    Resolves when the sync has begun.


    • 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