Skip to content

IDigitalWorldClientCreateOpts

Defined in: src/client.ts:469

optional accessToken?: string

Defined in: src/client.ts:320

ICreateClientOpts.accessToken


baseUrl: string

Defined in: src/client.ts:272

ICreateClientOpts.baseUrl


optional cryptoCallbacks?: CryptoCallbacks

Defined in: src/client.ts:425

Crypto callbacks provided by the application

ICreateClientOpts.cryptoCallbacks


optional cryptoStore?: CryptoStore

Defined in: src/client.ts:295

A store to be used for end-to-end crypto session data. 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).

This is only used for the legacy crypto implementation, but if you use the rust crypto implementation (DigitalWorldClient#initRustCrypto) and the device previously used legacy crypto (so must be migrated), then this must still be provided, so that the data can be migrated from the legacy store.

ICreateClientOpts.cryptoStore


optional deviceId?: string

Defined in: src/client.ts:318

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.

ICreateClientOpts.deviceId


optional disableVoip?: boolean

Defined in: src/client.ts:449

Disable VoIP support (prevents fetching TURN servers, etc.) Default: false (VoIP enabled)

ICreateClientOpts.disableVoip


optional enableEncryptedStateEvents?: boolean

Defined in: src/client.ts:430

Enable encrypted state events.

ICreateClientOpts.enableEncryptedStateEvents


optional fallbackICEServerAllowed?: boolean

Defined in: src/client.ts:412

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

ICreateClientOpts.fallbackICEServerAllowed


optional fetchFn?: {(input, init?): Promise<Response>; (input, init?): Promise<Response>; }

Defined in: src/client.ts:309

The function to invoke for HTTP requests. Most supported environments have a global fetch registered to which this will fall back.

(input, init?): Promise<Response>

MDN Reference

URL | RequestInfo

RequestInit

Promise<Response>

(input, init?): Promise<Response>

MDN Reference

string | URL | Request

RequestInit

Promise<Response>

ICreateClientOpts.fetchFn


optional forceTURN?: boolean

Defined in: src/client.ts:394

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

ICreateClientOpts.forceTURN


optional iceCandidatePoolSize?: number

Defined in: src/client.ts:401

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.

ICreateClientOpts.iceCandidatePoolSize


optional idBaseUrl?: string

Defined in: src/client.ts:274

ICreateClientOpts.idBaseUrl


optional identityServer?: IIdentityServerProvider

Defined in: src/client.ts:336

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.

ICreateClientOpts.identityServer


optional isVoipWithNoMediaAllowed?: boolean

Defined in: src/client.ts:443

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.

ICreateClientOpts.isVoipWithNoMediaAllowed


optional livekitServiceURL?: string

Defined in: src/client.ts:420

ICreateClientOpts.livekitServiceURL


optional localTimeoutMs?: number

Defined in: src/client.ts:342

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

ICreateClientOpts.localTimeoutMs


optional logger?: Logger

Defined in: src/client.ts:461

A logger to associate with this DigitalWorldClient. Defaults to the built-in global logger; see DebugLogger for an alternative.

ICreateClientOpts.logger


optional pickleKey?: string

Defined in: src/client.ts:380

Encryption key used for encrypting sensitive data (such as e2ee keys) in ICreateClientOpts#cryptoStore.

This must be set to the same value every time the client is initialised for the same device.

This is only used for the legacy crypto implementation, but if you use the rust crypto implementation (DigitalWorldClient#initRustCrypto) and the device previously used legacy crypto (so must be migrated), then this must still be provided, so that the data can be migrated from the legacy store.

ICreateClientOpts.pickleKey


optional queryParams?: QueryDict

Defined in: src/client.ts:368

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

ICreateClientOpts.queryParams


optional refreshToken?: string

Defined in: src/client.ts:321

ICreateClientOpts.refreshToken


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

Defined in: src/client.ts:436

Method to generate room names for empty rooms and rooms names based on membership. Defaults to a built-in English handler with basic pluralisation.

string

RoomNameState

string | null

ICreateClientOpts.roomNameGenerator


optional scheduler?: DigitalWorldScheduler<ISendEventResponse>

Defined in: src/client.ts:303

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

ICreateClientOpts.scheduler


optional store?: IStore

Defined in: src/client.ts:281

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

ICreateClientOpts.store


optional supportsCallTransfer?: boolean

Defined in: src/client.ts:406

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

ICreateClientOpts.supportsCallTransfer


optional timelineSupport?: boolean

Defined in: src/client.ts:361

Set to true to enable improved timeline support, see DigitalWorldClient#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.

ICreateClientOpts.timelineSupport


optional tokenRefreshFunction?: TokenRefreshFunction

Defined in: src/client.ts:328

Function used to attempt refreshing access and refresh tokens Called by http-api when a possibly expired token is encountered and a refreshToken is found

ICreateClientOpts.tokenRefreshFunction


optional unstableMSC1763Retention?: boolean

Defined in: src/client.ts:466

Locally remove events past the server global or per room retention setting.

ICreateClientOpts.unstableMSC1763Retention


optional useAuthorizationHeader?: boolean

Defined in: src/client.ts:352

Set to false to send the access token to the server via a query parameter rather than the Authorization HTTP header.

ICreateClientOpts.useAuthorizationHeader


optional useE2eForGroupCall?: boolean

Defined in: src/client.ts:418

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

ICreateClientOpts.useE2eForGroupCall


optional useLivekitForGroupCalls?: boolean

Defined in: src/client.ts:455

If true, group calls will not establish media connectivity and only create the signaling events, so that livekit media can be used in the application layer (js-sdk contains no livekit code).

ICreateClientOpts.useLivekitForGroupCalls


optional userId?: string

Defined in: src/client.ts:311

ICreateClientOpts.userId


optional usingExternalCrypto?: boolean

Defined in: src/client.ts:475

Whether to allow sending messages to encrypted rooms when encryption is not available internally within this SDK. This is useful if you are using an external E2E proxy, for example. Defaults to false.


optional verificationMethods?: string[]

Defined in: src/client.ts:389

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”).

See types.VerificationMethod for a set of useful constants for this parameter.

ICreateClientOpts.verificationMethods