ICreateClientOpts
Defined in: src/client.ts:271
Extended by
Section titled “Extended by”Properties
Section titled “Properties”accessToken?
Section titled “accessToken?”
optionalaccessToken?:string
Defined in: src/client.ts:320
baseUrl
Section titled “baseUrl”baseUrl:
string
Defined in: src/client.ts:272
cryptoCallbacks?
Section titled “cryptoCallbacks?”
optionalcryptoCallbacks?:CryptoCallbacks
Defined in: src/client.ts:425
Crypto callbacks provided by the application
cryptoStore?
Section titled “cryptoStore?”
optionalcryptoStore?: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.
deviceId?
Section titled “deviceId?”
optionaldeviceId?: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.
disableVoip?
Section titled “disableVoip?”
optionaldisableVoip?:boolean
Defined in: src/client.ts:449
Disable VoIP support (prevents fetching TURN servers, etc.) Default: false (VoIP enabled)
enableEncryptedStateEvents?
Section titled “enableEncryptedStateEvents?”
optionalenableEncryptedStateEvents?:boolean
Defined in: src/client.ts:430
Enable encrypted state events.
fallbackICEServerAllowed?
Section titled “fallbackICEServerAllowed?”
optionalfallbackICEServerAllowed?: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.
fetchFn?
Section titled “fetchFn?”
optionalfetchFn?: {(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.
Call Signature
Section titled “Call Signature”(
input,init?):Promise<Response>
Parameters
Section titled “Parameters”URL | RequestInfo
RequestInit
Returns
Section titled “Returns”Promise<Response>
Call Signature
Section titled “Call Signature”(
input,init?):Promise<Response>
Parameters
Section titled “Parameters”string | URL | Request
RequestInit
Returns
Section titled “Returns”Promise<Response>
forceTURN?
Section titled “forceTURN?”
optionalforceTURN?:boolean
Defined in: src/client.ts:394
Whether relaying calls through a TURN server should be forced. Default false.
iceCandidatePoolSize?
Section titled “iceCandidatePoolSize?”
optionaliceCandidatePoolSize?: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.
idBaseUrl?
Section titled “idBaseUrl?”
optionalidBaseUrl?:string
Defined in: src/client.ts:274
identityServer?
Section titled “identityServer?”
optionalidentityServer?: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.
isVoipWithNoMediaAllowed?
Section titled “isVoipWithNoMediaAllowed?”
optionalisVoipWithNoMediaAllowed?: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.
livekitServiceURL?
Section titled “livekitServiceURL?”
optionallivekitServiceURL?:string
Defined in: src/client.ts:420
localTimeoutMs?
Section titled “localTimeoutMs?”
optionallocalTimeoutMs?: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.
logger?
Section titled “logger?”
optionallogger?: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.
pickleKey?
Section titled “pickleKey?”
optionalpickleKey?: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.
queryParams?
Section titled “queryParams?”
optionalqueryParams?: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=.
refreshToken?
Section titled “refreshToken?”
optionalrefreshToken?:string
Defined in: src/client.ts:321
roomNameGenerator?
Section titled “roomNameGenerator?”
optionalroomNameGenerator?: (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.
Parameters
Section titled “Parameters”roomId
Section titled “roomId”string
Returns
Section titled “Returns”string | null
scheduler?
Section titled “scheduler?”
optionalscheduler?: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.
store?
Section titled “store?”
optionalstore?: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.
supportsCallTransfer?
Section titled “supportsCallTransfer?”
optionalsupportsCallTransfer?:boolean
Defined in: src/client.ts:406
True to advertise support for call transfers to other parties on calls. Default false.
timelineSupport?
Section titled “timelineSupport?”
optionaltimelineSupport?: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.
tokenRefreshFunction?
Section titled “tokenRefreshFunction?”
optionaltokenRefreshFunction?: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
unstableMSC1763Retention?
Section titled “unstableMSC1763Retention?”
optionalunstableMSC1763Retention?:boolean
Defined in: src/client.ts:466
Locally remove events past the server global or per room retention setting.
useAuthorizationHeader?
Section titled “useAuthorizationHeader?”
optionaluseAuthorizationHeader?: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.
useE2eForGroupCall?
Section titled “useE2eForGroupCall?”
optionaluseE2eForGroupCall?:boolean
Defined in: src/client.ts:418
If true, to-device signalling for group calls will be encrypted with Olm. Default: true.
useLivekitForGroupCalls?
Section titled “useLivekitForGroupCalls?”
optionaluseLivekitForGroupCalls?: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).
userId?
Section titled “userId?”
optionaluserId?:string
Defined in: src/client.ts:311
verificationMethods?
Section titled “verificationMethods?”
optionalverificationMethods?: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.