Interface ICreateClientOpts

Hierarchy

Properties

accessToken?: string
baseUrl: string
cryptoCallbacks?: ICryptoCallbacks

Crypto callbacks provided by the application

cryptoStore?: CryptoStore

A store to be used for end-to-end crypto session data. If not specified, end-to-end crypto will be disabled. The createClient helper will create a default store if needed. Calls the factory supplied to setCryptoStoreFactory if unspecified; or if no factory has been specified, uses a default implementation (indexeddb in the browser, in-memory otherwise).

deviceId?: string

A unique identifier for this device; used for tracking things like crypto keys and access tokens. If not specified, end-to-end encryption will be disabled.

deviceToImport?: IExportedDevice

Device data exported with "exportDevice" method that must be imported to recreate this device. Should only be useful for devices with end-to-end crypto enabled. If provided, deviceId and userId should NOT be provided at the top level (they are present in the exported data).

fallbackICEServerAllowed?: boolean

Whether to allow a fallback ICE server should be used for negotiating a WebRTC connection if the homeserver doesn't provide any servers. Defaults to false.

fetchFn?: ((input, init?) => Promise<Response>)

Type declaration

    • (input, init?): Promise<Response>
    • The function to invoke for HTTP requests. Most supported environments have a global fetch registered to which this will fall back.

      Parameters

      • input: RequestInfo | URL
      • Optional init: RequestInit

      Returns Promise<Response>

forceTURN?: boolean

Whether relaying calls through a TURN server should be forced. Default false.

iceCandidatePoolSize?: number

Up to this many ICE candidates will be gathered when an incoming call arrives. Gathering does not send data to the caller, but will communicate with the configured TURN server. Default 0.

idBaseUrl?: string
identityServer?: IIdentityServerProvider

Identity server provider to retrieve the user's access token when accessing the identity server. See also https://github.com/vector-im/element-web/issues/10615 which seeks to replace the previous approach of manual access tokens params with this callback throughout the SDK.

isVoipWithNoMediaAllowed?: boolean

If true, participant can join group call without video and audio this has to be allowed. By default, a local media stream is needed to establish a group call. Default: false.

localTimeoutMs?: number

The default maximum amount of time to wait before timing out HTTP requests. If not specified, there is no timeout.

pickleKey?: string

Key used to pickle olm objects or other sensitive data.

queryParams?: Record<string, string>

Extra query parameters to append to all requests with this client. Useful for application services which require ?user_id=.

roomNameGenerator?: ((roomId, state) => null | string)

Type declaration

    • (roomId, state): null | string
    • Method to generate room names for empty rooms and rooms names based on membership. Defaults to a built-in English handler with basic pluralisation.

      Parameters

      Returns null | string

The scheduler to use. If not specified, this client will not retry requests on failure. This client will supply its own processing function to setProcessFunction.

store?: IStore

The data store used for sync data from the homeserver. If not specified, this client will not store any HTTP responses. The createClient helper will create a default store if needed.

supportsCallTransfer?: boolean

True to advertise support for call transfers to other parties on Matrix calls. Default false.

timelineSupport?: boolean

Set to true to enable improved timeline support, see getEventTimeline. It is disabled by default for compatibility with older clients - in particular to maintain support for back-paginating the live timeline after a '/sync' result with a gap.

useAuthorizationHeader?: boolean

Set to true to use Authorization header instead of query param to send the access token to the server.

Default false.

useE2eForGroupCall?: boolean

If true, to-device signalling for group calls will be encrypted with Olm. Default: true.

userId?: string
verificationMethods?: string[]

Verification methods we should offer to the other side when performing an interactive verification. If unset, we will offer all known methods. Currently these are: showing a QR code, scanning a QR code, and SAS (aka "emojis").

Generated using TypeDoc