Skip to content

Commit 40c753b

Browse files
committed
ratchet update to latest livekit
1 parent 803ca45 commit 40c753b

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

src/matrixrtc/EncryptionManager.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { decodeBase64, encodeUnpaddedBase64 } from "../base64.ts";
55
import { safeGetRetryAfterMs } from "../http-api/errors.ts";
66
import { type CallMembership } from "./CallMembership.ts";
77
import { type KeyTransportEventListener, KeyTransportEvents, type IKeyTransport } from "./IKeyTransport.ts";
8-
import { isMyMembership, type Statistics } from "./types.ts";
8+
import {isMyMembership, ParticipantId, type Statistics} from "./types.ts";
99
import { getParticipantId } from "./utils.ts";
1010
import {
1111
type EnabledTransports,
@@ -51,7 +51,7 @@ export interface IEncryptionManager {
5151
* the lower layer will emit the ratcheted key to the encryption manager.
5252
* This is called after the key a ratchet request has been performed.
5353
*/
54-
onOwnKeyRatcheted(key: ArrayBuffer, keyIndex: number | undefined): void;
54+
onKeyRatcheted(key: ArrayBuffer, participantId: ParticipantId| undefined, keyIndex: number | undefined): void;
5555
}
5656

5757
/**
@@ -107,7 +107,7 @@ export class EncryptionManager implements IEncryptionManager {
107107
this.logger = (parentLogger ?? rootLogger).getChild(`[EncryptionManager]`);
108108
}
109109

110-
public onOwnKeyRatcheted(key: ArrayBuffer, keyIndex: number | undefined): void {
110+
public onKeyRatcheted(key: ArrayBuffer, participantId: ParticipantId| undefined, keyIndex: number | undefined): void {
111111
this.logger.warn("Ratcheting key is not implemented in EncryptionManager");
112112
}
113113

src/matrixrtc/MatrixRTCSession.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -533,8 +533,8 @@ export class MatrixRTCSession extends TypedEventEmitter<
533533
});
534534
}
535535

536-
public onOwnKeyRatcheted(material: ArrayBuffer, keyIndex?: number): void {
537-
this.encryptionManager?.onOwnKeyRatcheted(material, keyIndex);
536+
public onKeyRatcheted(material: ArrayBuffer,participantId?: ParticipantId, keyIndex?: number): void {
537+
this.encryptionManager?.onKeyRatcheted(material, participantId, keyIndex);
538538
}
539539

540540
/**

src/matrixrtc/RTCEncryptionManager.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -356,9 +356,12 @@ export class RTCEncryptionManager implements IEncryptionManager {
356356
return key;
357357
}
358358

359-
public onOwnKeyRatcheted(key: ArrayBuffer, keyIndex: number | undefined): void {
360-
this.logger.debug(`Own key ratcheted for key index:${keyIndex} key:${encodeBase64(new Uint8Array(key))}`);
359+
public onKeyRatcheted(key: ArrayBuffer, participantId: ParticipantId | undefined, keyIndex: number | undefined): void {
360+
if (participantId == getParticipantId(this.userId, this.deviceId)) {
361+
// DO NOT COMMIT
362+
this.logger.debug(`Own key ratcheted for key index:${keyIndex} key:${encodeBase64(new Uint8Array(key))}`);
361363

362-
this.currentRatchetRequest?.resolve({ key, keyIndex: keyIndex! });
364+
this.currentRatchetRequest?.resolve({key, keyIndex: keyIndex!});
365+
}
363366
}
364367
}

0 commit comments

Comments
 (0)