Skip to content

Commit 4eb8674

Browse files
committed
Merge branch 'livekit' into robin/audio-output-controls
2 parents 323e088 + aeae964 commit 4eb8674

File tree

7 files changed

+41
-35
lines changed

7 files changed

+41
-35
lines changed

backend/dev_nginx.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,11 +145,11 @@ server {
145145
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
146146
proxy_set_header X-Forwarded-Proto $scheme;
147147

148-
proxy_pass http://element-web:81;
148+
proxy_pass http://element-web:8081;
149149
proxy_ssl_verify off;
150150

151151
}
152152

153153
error_page 500 502 503 504 /50x.html;
154154

155-
}
155+
}

dev-backend-docker-compose.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services:
66
image: ghcr.io/element-hq/lk-jwt-service:latest-ci
77
hostname: auth-server
88
environment:
9-
- LK_JWT_PORT=8080
9+
- LIVEKIT_JWT_PORT=8080
1010
- LIVEKIT_URL=wss://matrix-rtc.m.localhost/livekit/sfu
1111
- LIVEKIT_KEY=devkey
1212
- LIVEKIT_SECRET=secret
@@ -73,11 +73,11 @@ services:
7373
image: ghcr.io/element-hq/element-web:develop
7474
pull_policy: always
7575
volumes:
76-
- ./backend/ew.test.config.json:/app/config.json
76+
- ./backend/ew.test.config.json:/app/config.json:Z
7777
environment:
78-
ELEMENT_WEB_PORT: 81
78+
ELEMENT_WEB_PORT: 8081
7979
ports:
80-
- "8081:81"
80+
- "8081:8081"
8181
networks:
8282
- ecbackend
8383

@@ -91,7 +91,6 @@ services:
9191
- ./backend/dev_tls_m.localhost.crt:/root/ssl/cert.pem:Z
9292
ports:
9393
# HOST_PORT:CONTAINER_PORT
94-
- "80:80"
9594
- "443:443"
9695
- "8008:80"
9796
- "4443:443"

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
"lodash-es": "^4.17.21",
104104
"loglevel": "^1.9.1",
105105
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#head=toger5/add-room-key-fallback-on-encryption-manager-not-supported",
106-
"matrix-widget-api": "1.11.0",
106+
"matrix-widget-api": "^1.13.0",
107107
"normalize.css": "^8.0.1",
108108
"observable-hooks": "^4.2.3",
109109
"pako": "^2.0.4",
@@ -133,8 +133,7 @@
133133
},
134134
"resolutions": {
135135
"@livekit/components-core/rxjs": "^7.8.1",
136-
"@livekit/track-processors/@mediapipe/tasks-vision": "^0.10.18",
137-
"matrix-widget-api": "1.11.0"
136+
"@livekit/track-processors/@mediapipe/tasks-vision": "^0.10.18"
138137
},
139138
"packageManager": "yarn@4.7.0"
140139
}

src/e2ee/matrixKeyProvider.ts

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
55
Please see LICENSE in the repository root for full details.
66
*/
77

8-
import { BaseKeyProvider, createKeyMaterialFromBuffer } from "livekit-client";
8+
import { BaseKeyProvider } from "livekit-client";
99
import { logger } from "matrix-js-sdk/lib/logger";
1010
import {
1111
type MatrixRTCSession,
@@ -44,20 +44,29 @@ export class MatrixKeyProvider extends BaseKeyProvider {
4444
encryptionKeyIndex: number,
4545
participantId: string,
4646
): void => {
47-
createKeyMaterialFromBuffer(encryptionKey).then(
48-
(keyMaterial) => {
49-
this.onSetEncryptionKey(keyMaterial, participantId, encryptionKeyIndex);
50-
51-
logger.debug(
52-
`Sent new key to livekit room=${this.rtcSession?.room.roomId} participantId=${participantId} encryptionKeyIndex=${encryptionKeyIndex}`,
53-
);
54-
},
55-
(e) => {
56-
logger.error(
57-
`Failed to create key material from buffer for livekit room=${this.rtcSession?.room.roomId} participantId=${participantId} encryptionKeyIndex=${encryptionKeyIndex}`,
58-
e,
59-
);
60-
},
61-
);
47+
crypto.subtle
48+
.importKey("raw", encryptionKey, "HKDF", false, [
49+
"deriveBits",
50+
"deriveKey",
51+
])
52+
.then(
53+
(keyMaterial) => {
54+
this.onSetEncryptionKey(
55+
keyMaterial,
56+
participantId,
57+
encryptionKeyIndex,
58+
);
59+
60+
logger.debug(
61+
`Sent new key to livekit room=${this.rtcSession?.room.roomId} participantId=${participantId} encryptionKeyIndex=${encryptionKeyIndex}`,
62+
);
63+
},
64+
(e) => {
65+
logger.error(
66+
`Failed to create key material from buffer for livekit room=${this.rtcSession?.room.roomId} participantId=${participantId} encryptionKeyIndex=${encryptionKeyIndex}`,
67+
e,
68+
);
69+
},
70+
);
6271
};
6372
}

src/rtcSessionHelpers.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,9 @@ export async function enterRTCSession(
121121
...(useDeviceSessionMemberEvents !== undefined && {
122122
useLegacyMemberEvents: !useDeviceSessionMemberEvents,
123123
}),
124-
membershipServerSideExpiryTimeout:
124+
delayedLeaveEventDelayMs:
125125
matrixRtcSessionConfig?.membership_server_side_expiry_timeout,
126-
membershipKeepAlivePeriod:
127-
matrixRtcSessionConfig?.membership_keep_alive_period,
126+
networkErrorRetryMs: matrixRtcSessionConfig?.membership_keep_alive_period,
128127
makeKeyDelay: matrixRtcSessionConfig?.key_rotation_on_leave_delay,
129128
useExperimentalToDeviceTransport,
130129
},

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"target": "es2022",
44
"module": "es2022",
55
"jsx": "react-jsx",
6-
"lib": ["es2022", "dom", "dom.iterable"],
6+
"lib": ["es2024", "dom", "dom.iterable"],
77

88
// From Matrix-JS-SDK
99
"strict": true,

yarn.lock

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7008,7 +7008,7 @@ __metadata:
70087008
lodash-es: "npm:^4.17.21"
70097009
loglevel: "npm:^1.9.1"
70107010
matrix-js-sdk: "github:matrix-org/matrix-js-sdk#head=toger5/add-room-key-fallback-on-encryption-manager-not-supported"
7011-
matrix-widget-api: "npm:1.11.0"
7011+
matrix-widget-api: "npm:^1.13.0"
70127012
normalize.css: "npm:^8.0.1"
70137013
observable-hooks: "npm:^4.2.3"
70147014
pako: "npm:^2.0.4"
@@ -9633,13 +9633,13 @@ __metadata:
96339633
languageName: node
96349634
linkType: hard
96359635

9636-
"matrix-widget-api@npm:1.11.0":
9637-
version: 1.11.0
9638-
resolution: "matrix-widget-api@npm:1.11.0"
9636+
"matrix-widget-api@npm:^1.10.0, matrix-widget-api@npm:^1.13.0":
9637+
version: 1.13.1
9638+
resolution: "matrix-widget-api@npm:1.13.1"
96399639
dependencies:
96409640
"@types/events": "npm:^3.0.0"
96419641
events: "npm:^3.2.0"
9642-
checksum: 10c0/ac35ed8fb2b5df6d186beb64b5faf907ec113d708ad8353bdd8f9196fb3da255561b8807e2e845f39d4cf7ae6af36f90b54c230a0a100556ac7ebd8f18bee848
9642+
checksum: 10c0/25ded744922755b3eb65f4e171cf6cff1a2e0fe43fc3fecbb13e565e41d8af066daa817dd2c3c7d921b996af399eec3b23df70ab7b682cf422d9cee7ca202512
96439643
languageName: node
96449644
linkType: hard
96459645

0 commit comments

Comments
 (0)