Skip to content

Commit 8be6655

Browse files
authored
Add matrix_rtc_session config options + bump js-sdk (#2756)
* Add matrix_rtc_session config options * Bump js-sdk matrix-org/matrix-js-sdk@6971e7b...fcb69b1 Also brings in: - matrix-org/matrix-js-sdk#4342 - matrix-org/matrix-js-sdk#4494
1 parent 464cb16 commit 8be6655

File tree

4 files changed

+35
-5
lines changed

4 files changed

+35
-5
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
"livekit-client": "^2.5.7",
8888
"lodash": "^4.17.21",
8989
"loglevel": "^1.9.1",
90-
"matrix-js-sdk": "matrix-org/matrix-js-sdk#6971e7bebaad643c233e5057da7a0d42441c0789",
90+
"matrix-js-sdk": "matrix-org/matrix-js-sdk#fcb69b16ad8d170c67ea844f83543d467bbd7707",
9191
"matrix-widget-api": "^1.8.2",
9292
"normalize.css": "^8.0.1",
9393
"observable-hooks": "^4.2.3",

src/config/ConfigOptions.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,30 @@ export interface ConfigOptions {
9696
* Note that this can additionally be disabled by the app's URL parameters.
9797
*/
9898
app_prompt?: boolean;
99+
100+
/**
101+
* These are low level options that are used to configure the MatrixRTC session.
102+
* Take care when changing these options.
103+
*/
104+
matrix_rtc_session?: {
105+
/**
106+
* How long (in milliseconds) to wait before rotating end-to-end media encryption keys
107+
* when someone leaves a call.
108+
*/
109+
key_rotation_on_leave_delay?: number;
110+
111+
/**
112+
* How often (in milliseconds) keep-alive messages should be sent to the server for
113+
* the MatrixRTC membership event.
114+
*/
115+
membership_keep_alive_period?: number;
116+
117+
/**
118+
* How long (in milliseconds) after the last keep-alive the server should expire the
119+
* MatrixRTC membership event.
120+
*/
121+
membership_server_side_expiry_timeout?: number;
122+
};
99123
}
100124

101125
// Overrides members from ConfigOptions that are always provided by the

src/rtcSessionHelpers.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,9 @@ export async function enterRTCSession(
9898

9999
// right now we assume everything is a room-scoped call
100100
const livekitAlias = rtcSession.room.roomId;
101+
const { features, matrix_rtc_session: matrixRtcSessionConfig } = Config.get();
101102
const useDeviceSessionMemberEvents =
102-
Config.get().features?.feature_use_device_session_member_events;
103+
features?.feature_use_device_session_member_events;
103104
rtcSession.joinRoomSession(
104105
await makePreferredLivekitFoci(rtcSession, livekitAlias),
105106
makeActiveFocus(),
@@ -108,6 +109,11 @@ export async function enterRTCSession(
108109
...(useDeviceSessionMemberEvents !== undefined && {
109110
useLegacyMemberEvents: !useDeviceSessionMemberEvents,
110111
}),
112+
membershipServerSideExpiryTimeout:
113+
matrixRtcSessionConfig?.membership_server_side_expiry_timeout,
114+
membershipKeepAlivePeriod:
115+
matrixRtcSessionConfig?.membership_keep_alive_period,
116+
makeKeyDelay: matrixRtcSessionConfig?.key_rotation_on_leave_delay,
111117
},
112118
);
113119
}

yarn.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5998,9 +5998,9 @@ [email protected]:
59985998
resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd"
59995999
integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==
60006000

6001-
matrix-js-sdk@matrix-org/matrix-js-sdk#6971e7bebaad643c233e5057da7a0d42441c0789:
6001+
matrix-js-sdk@matrix-org/matrix-js-sdk#fcb69b16ad8d170c67ea844f83543d467bbd7707:
60026002
version "34.10.0"
6003-
resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/6971e7bebaad643c233e5057da7a0d42441c0789"
6003+
resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/fcb69b16ad8d170c67ea844f83543d467bbd7707"
60046004
dependencies:
60056005
"@babel/runtime" "^7.12.5"
60066006
"@matrix-org/matrix-sdk-crypto-wasm" "^9.0.0"
@@ -6011,7 +6011,7 @@ matrix-js-sdk@matrix-org/matrix-js-sdk#6971e7bebaad643c233e5057da7a0d42441c0789:
60116011
jwt-decode "^4.0.0"
60126012
loglevel "^1.7.1"
60136013
matrix-events-sdk "0.0.1"
6014-
matrix-widget-api "^1.8.2"
6014+
matrix-widget-api "^1.10.0"
60156015
oidc-client-ts "^3.0.1"
60166016
p-retry "4"
60176017
sdp-transform "^2.14.1"

0 commit comments

Comments
 (0)