Skip to content

Commit 9299136

Browse files
committed
Add RoomAndToDeviceKeyTransport and enable as default.
1 parent 8c8a5e2 commit 9299136

File tree

4 files changed

+24
-10
lines changed

4 files changed

+24
-10
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
"livekit-client": "2.11.2",
101101
"lodash-es": "^4.17.21",
102102
"loglevel": "^1.9.1",
103-
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#e3a3a52f2a56cb5cc52b57b36e9a915faed0b5db",
103+
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#7ab4a0f67beb796d74ec1a13ec19560093a0504a",
104104
"matrix-widget-api": "1.11.0",
105105
"normalize.css": "^8.0.1",
106106
"observable-hooks": "^4.2.3",

src/room/InCallView.tsx

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import classNames from "classnames";
3232
import { BehaviorSubject, map } from "rxjs";
3333
import { useObservable, useObservableEagerState } from "observable-hooks";
3434
import { logger } from "matrix-js-sdk/lib/logger";
35+
import { RoomAndToDeviceEvents } from "matrix-js-sdk/lib/matrixrtc/RoomAndToDeviceKeyTransport";
3536

3637
import LogoMark from "../icons/LogoMark.svg?react";
3738
import LogoType from "../icons/LogoType.svg?react";
@@ -100,6 +101,8 @@ import {
100101
} from "../settings/settings";
101102
import { ReactionsReader } from "../reactions/ReactionsReader";
102103
import { ConnectionLostError } from "../utils/errors.ts";
104+
import { useTypedEventEmitter } from "../useEvents.ts";
105+
103106
const canScreenshare = "getDisplayMedia" in (navigator.mediaDevices ?? {});
104107

105108
const maxTapDurationMs = 400;
@@ -217,9 +220,20 @@ export const InCallView: FC<InCallViewProps> = ({
217220
room: livekitRoom,
218221
});
219222

220-
const [toDeviceEncryption] = useSetting(
223+
const [toDeviceEncryptionSetting] = useSetting(
221224
useExperimentalToDeviceTransportSetting,
222225
);
226+
const [showToDeviceEncryption, setShowToDeviceEncryption] = useState(
227+
() => toDeviceEncryptionSetting,
228+
);
229+
useEffect(() => {
230+
setShowToDeviceEncryption(toDeviceEncryptionSetting);
231+
}, [toDeviceEncryptionSetting]);
232+
useTypedEventEmitter(
233+
rtcSession,
234+
RoomAndToDeviceEvents.EnabledTransportsChanged,
235+
(enabled) => setShowToDeviceEncryption(enabled.to_device),
236+
);
223237

224238
const toggleMicrophone = useCallback(
225239
() => muteStates.audio.setEnabled?.((e) => !e),
@@ -668,9 +682,9 @@ export const InCallView: FC<InCallViewProps> = ({
668682
</Header>
669683
))}
670684
{
671-
// TODO: remove this once we remove the developer flag
672-
// and find a better way to device what key transport to use.
673-
toDeviceEncryption && (
685+
// TODO: remove this once we remove the developer flag gets removed and we have shipped to
686+
// device transport as the default.
687+
showToDeviceEncryption && (
674688
<Text
675689
style={{ height: 0, zIndex: 1, alignSelf: "center", margin: 0 }}
676690
size="sm"

src/settings/settings.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ export const useNewMembershipManagerSetting = new Setting<boolean>(
120120

121121
export const useExperimentalToDeviceTransportSetting = new Setting<boolean>(
122122
"experimental-to-device-transport",
123-
false,
123+
true,
124124
);
125125

126126
export const alwaysShowSelf = new Setting<boolean>("always-show-self", true);

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6913,7 +6913,7 @@ __metadata:
69136913
livekit-client: "npm:2.11.2"
69146914
lodash-es: "npm:^4.17.21"
69156915
loglevel: "npm:^1.9.1"
6916-
matrix-js-sdk: "github:matrix-org/matrix-js-sdk#e3a3a52f2a56cb5cc52b57b36e9a915faed0b5db"
6916+
matrix-js-sdk: "github:matrix-org/matrix-js-sdk#7ab4a0f67beb796d74ec1a13ec19560093a0504a"
69176917
matrix-widget-api: "npm:1.11.0"
69186918
normalize.css: "npm:^8.0.1"
69196919
observable-hooks: "npm:^4.2.3"
@@ -9504,9 +9504,9 @@ __metadata:
95049504
languageName: node
95059505
linkType: hard
95069506

9507-
"matrix-js-sdk@github:matrix-org/matrix-js-sdk#e3a3a52f2a56cb5cc52b57b36e9a915faed0b5db":
9507+
"matrix-js-sdk@github:matrix-org/matrix-js-sdk#7ab4a0f67beb796d74ec1a13ec19560093a0504a":
95089508
version: 37.3.0
9509-
resolution: "matrix-js-sdk@https://github.com/matrix-org/matrix-js-sdk.git#commit=e3a3a52f2a56cb5cc52b57b36e9a915faed0b5db"
9509+
resolution: "matrix-js-sdk@https://github.com/matrix-org/matrix-js-sdk.git#commit=7ab4a0f67beb796d74ec1a13ec19560093a0504a"
95109510
dependencies:
95119511
"@babel/runtime": "npm:^7.12.5"
95129512
"@matrix-org/matrix-sdk-crypto-wasm": "npm:^14.0.1"
@@ -9523,7 +9523,7 @@ __metadata:
95239523
sdp-transform: "npm:^2.14.1"
95249524
unhomoglyph: "npm:^1.0.6"
95259525
uuid: "npm:11"
9526-
checksum: 10c0/1baf50f93576a6fdf46d76c7a84cf43adeb0b04e692165f749f15c56e8e3fd0f5f354a1702b9f9de1688cebbdee176f7056b71e8a526ef9b0fbbe23405c2aee2
9526+
checksum: 10c0/bee9a5779b6acc33b329be8a21c72f77bea213e88574fb1ff99f82741e354b4370663c1eef3358c1d788a3f6fc310528ecd0af09cfa10230765563cd96d7393b
95279527
languageName: node
95289528
linkType: hard
95299529

0 commit comments

Comments
 (0)