diff --git a/src/config/ConfigOptions.ts b/src/config/ConfigOptions.ts index 5742f4e7..b11fb463 100644 --- a/src/config/ConfigOptions.ts +++ b/src/config/ConfigOptions.ts @@ -113,14 +113,10 @@ export interface ConfigOptions { * How long (in milliseconds) to wait before rotating end-to-end media encryption keys * when someone leaves a call. */ + wait_for_key_rotation_ms?: number; + /** @deprecated use delay_new_key_sending_ms instead */ key_rotation_on_leave_delay?: number; - /** - * How often (in milliseconds) keep-alive messages should be sent to the server for - * the MatrixRTC membership event. - */ - membership_keep_alive_period?: number; - /** * How long (in milliseconds) after the last keep-alive the server should expire the * MatrixRTC membership event. @@ -133,6 +129,21 @@ export interface ConfigOptions { * The interval (in milliseconds) in which the client will send membership keep-alives to the server. */ delayed_leave_event_restart_ms?: number; + /** @deprecated use delayed_leave_event_restart_ms instead */ + membership_keep_alive_period?: number; + + /** + * How long we wait before retrying after a network error on any of the requests. + */ + network_error_retry_ms?: number; + + /** + * The timeout (in milliseconds) after we joined the call, that our membership should expire + * unless we have explicitly updated it. + * + * This is what goes into the m.rtc.member event expiry field and is typically set to a number of hours. + */ + membership_event_expiry_ms?: number; }; } diff --git a/src/rtcSessionHelpers.ts b/src/rtcSessionHelpers.ts index 7965606f..e4176dc0 100644 --- a/src/rtcSessionHelpers.ts +++ b/src/rtcSessionHelpers.ts @@ -122,12 +122,17 @@ export async function enterRTCSession( useLegacyMemberEvents: !useDeviceSessionMemberEvents, }), delayedLeaveEventRestartMs: - matrixRtcSessionConfig?.delayed_leave_event_restart_ms, + matrixRtcSessionConfig?.delayed_leave_event_restart_ms ?? + matrixRtcSessionConfig?.membership_keep_alive_period, delayedLeaveEventDelayMs: matrixRtcSessionConfig?.delayed_leave_event_delay_ms ?? matrixRtcSessionConfig?.membership_server_side_expiry_timeout, - networkErrorRetryMs: matrixRtcSessionConfig?.membership_keep_alive_period, - makeKeyDelay: matrixRtcSessionConfig?.key_rotation_on_leave_delay, + networkErrorRetryMs: matrixRtcSessionConfig?.network_error_retry_ms, + makeKeyDelay: + matrixRtcSessionConfig?.wait_for_key_rotation_ms ?? + matrixRtcSessionConfig?.key_rotation_on_leave_delay, + membershipEventExpiryMs: + matrixRtcSessionConfig?.membership_event_expiry_ms, useExperimentalToDeviceTransport, }, );