From 49c90a461271a0281af921f6eb4950b4027bbb47 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 30 Oct 2023 17:06:59 +0000 Subject: [PATCH] Amalgamate E2EEMode & E2eeType --- src/livekit/useLiveKit.ts | 24 +++++++++++++----------- src/room/GroupCallView.tsx | 7 ++++--- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/livekit/useLiveKit.ts b/src/livekit/useLiveKit.ts index 49044b61..3e6f6397 100644 --- a/src/livekit/useLiveKit.ts +++ b/src/livekit/useLiveKit.ts @@ -41,14 +41,10 @@ import { useECConnectionState, } from "./useECConnectionState"; import { MatrixKeyProvider } from "../e2ee/matrixKeyProvider"; - -export enum E2EEMode { - PerParticipantKey = "per_participant_key", - SharedKey = "shared_key", -} +import { E2eeType } from "../e2ee/e2eeType"; export type E2EEConfig = { - mode: E2EEMode; + mode: E2eeType; sharedKey?: string; }; @@ -64,14 +60,17 @@ export function useLiveKit( e2eeConfig?: E2EEConfig, ): UseLivekitResult { const e2eeOptions = useMemo((): E2EEOptions | undefined => { - if (!e2eeConfig) return undefined; + if (!e2eeConfig || e2eeConfig.mode === E2eeType.NONE) return undefined; - if (e2eeConfig.mode === E2EEMode.PerParticipantKey) { + if (e2eeConfig.mode === E2eeType.PER_PARTICIPANT) { return { keyProvider: new MatrixKeyProvider(), worker: new E2EEWorker(), }; - } else if (e2eeConfig.mode === E2EEMode.SharedKey && e2eeConfig.sharedKey) { + } else if ( + e2eeConfig.mode === E2eeType.SHARED_KEY && + e2eeConfig.sharedKey + ) { return { keyProvider: new ExternalE2EEKeyProvider(), worker: new E2EEWorker(), @@ -82,9 +81,12 @@ export function useLiveKit( useEffect(() => { if (!e2eeConfig || !e2eeOptions) return; - if (e2eeConfig.mode === E2EEMode.PerParticipantKey) { + if (e2eeConfig.mode === E2eeType.PER_PARTICIPANT) { (e2eeOptions.keyProvider as MatrixKeyProvider).setRTCSession(rtcSession); - } else if (e2eeConfig.mode === E2EEMode.SharedKey && e2eeConfig.sharedKey) { + } else if ( + e2eeConfig.mode === E2eeType.SHARED_KEY && + e2eeConfig.sharedKey + ) { (e2eeOptions.keyProvider as ExternalE2EEKeyProvider).setKey( e2eeConfig.sharedKey, ); diff --git a/src/room/GroupCallView.tsx b/src/room/GroupCallView.tsx index f13c40ff..69c88971 100644 --- a/src/room/GroupCallView.tsx +++ b/src/room/GroupCallView.tsx @@ -44,8 +44,9 @@ import { useRoomAvatar } from "./useRoomAvatar"; import { useRoomName } from "./useRoomName"; import { useJoinRule } from "./useJoinRule"; import { InviteModal } from "./InviteModal"; -import { E2EEConfig, E2EEMode } from "../livekit/useLiveKit"; +import { E2EEConfig } from "../livekit/useLiveKit"; import { useUrlParams } from "../UrlParams"; +import { E2eeType } from "../e2ee/e2eeType"; declare global { interface Window { @@ -262,9 +263,9 @@ export const GroupCallView: FC = ({ const e2eeConfig = useMemo((): E2EEConfig | undefined => { if (perParticipantE2EE) { - return { mode: E2EEMode.PerParticipantKey }; + return { mode: E2eeType.PER_PARTICIPANT }; } else if (e2eeSharedKey) { - return { mode: E2EEMode.SharedKey, sharedKey: e2eeSharedKey }; + return { mode: E2eeType.SHARED_KEY, sharedKey: e2eeSharedKey }; } }, [perParticipantE2EE, e2eeSharedKey]);