mirror of
https://github.com/vector-im/element-call.git
synced 2026-08-29 21:15:19 +00:00
Merge branch 'livekit' into new_url_scema
This commit is contained in:
@@ -121,5 +121,6 @@
|
|||||||
"Yes, join call": "Yes, join call",
|
"Yes, join call": "Yes, join call",
|
||||||
"You": "You",
|
"You": "You",
|
||||||
"You were disconnected from the call": "You were disconnected from the call",
|
"You were disconnected from the call": "You were disconnected from the call",
|
||||||
"Your feedback": "Your feedback"
|
"Your feedback": "Your feedback",
|
||||||
|
"Your web browser does not support media end-to-end encryption. Supported Browsers are Chrome, Safari, Firefox >=117": "Your web browser does not support media end-to-end encryption. Supported Browsers are Chrome, Safari, Firefox >=117"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,5 +108,18 @@
|
|||||||
"Sharing screen": "L’écran est partagé",
|
"Sharing screen": "L’écran est partagé",
|
||||||
"{{count, number}}|one": "{{count, number}}",
|
"{{count, number}}|one": "{{count, number}}",
|
||||||
"Not encrypted": "Non chiffré",
|
"Not encrypted": "Non chiffré",
|
||||||
"You": "Vous"
|
"You": "Vous",
|
||||||
|
"Continue in browser": "Continuer dans le navigateur",
|
||||||
|
"Mute microphone": "Couper le microphone",
|
||||||
|
"Name of call": "Nom de l’appel",
|
||||||
|
"Open in the app": "Ouvrir dans l’application",
|
||||||
|
"Ready to join?": "Prêt à rejoindre ?",
|
||||||
|
"Select app": "Choisissez l’application",
|
||||||
|
"Start new call": "Démarrer un nouvel appel",
|
||||||
|
"Back to recents": "Revenir aux récents",
|
||||||
|
"Start video": "Démarrer la vidéo",
|
||||||
|
"Stop video": "Arrêter la vidéo",
|
||||||
|
"Unmute microphone": "Allumer le microphone",
|
||||||
|
"Call not found": "Appel non trouvé",
|
||||||
|
"Calls are now end-to-end encrypted and need to be created from the home page. This helps make sure everyone's using the same encryption key.": "Les appels sont maintenant chiffrés de bout-en-bout et doivent être créés depuis la page d’accueil. Cela permet d’être sûr que tout le monde utilise la même clé de chiffrement."
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,5 +119,7 @@
|
|||||||
"Start video": "開始影片",
|
"Start video": "開始影片",
|
||||||
"Back to recents": "回到最近的通話",
|
"Back to recents": "回到最近的通話",
|
||||||
"Stop video": "停止影片",
|
"Stop video": "停止影片",
|
||||||
"Unmute microphone": "將麥克風取消靜音"
|
"Unmute microphone": "將麥克風取消靜音",
|
||||||
|
"Call not found": "找不到通話",
|
||||||
|
"Calls are now end-to-end encrypted and need to be created from the home page. This helps make sure everyone's using the same encryption key.": "通話現在是端對端加密的,必須從首頁建立。這有助於確保每個人都使用相同的加密金鑰。"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,8 +62,11 @@ export const AppSelectionModal: FC<Props> = ({ roomId }) => {
|
|||||||
return params;
|
return params;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
const result = new URL("io.element.call:/call");
|
const result = new URL("io.element.call:/call");
|
||||||
result.searchParams.set("url", url.toString());
|
// Everything after the last & stripped away making us loose the last param. Most likely while removing the pwd.
|
||||||
|
// TODO fix the pwd removal function (or wherever this happens) to not delete everything after the last &.
|
||||||
|
result.searchParams.set("url", url.toString() + "&");
|
||||||
return result.toString();
|
return result.toString();
|
||||||
}, [roomId, roomSharedKey]);
|
}, [roomId, roomSharedKey]);
|
||||||
|
|
||||||
|
|||||||
@@ -17,14 +17,16 @@ limitations under the License.
|
|||||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||||
import { useHistory } from "react-router-dom";
|
import { useHistory } from "react-router-dom";
|
||||||
import { MatrixClient } from "matrix-js-sdk/src/client";
|
import { MatrixClient } from "matrix-js-sdk/src/client";
|
||||||
import { Room } from "livekit-client";
|
import { Room, isE2EESupported } from "livekit-client";
|
||||||
import { logger } from "matrix-js-sdk/src/logger";
|
import { logger } from "matrix-js-sdk/src/logger";
|
||||||
import { MatrixRTCSession } from "matrix-js-sdk/src/matrixrtc/MatrixRTCSession";
|
import { MatrixRTCSession } from "matrix-js-sdk/src/matrixrtc/MatrixRTCSession";
|
||||||
import { JoinRule, RoomMember } from "matrix-js-sdk/src/matrix";
|
import { JoinRule, RoomMember } from "matrix-js-sdk/src/matrix";
|
||||||
|
import { Heading, Link, Text } from "@vector-im/compound-web";
|
||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
||||||
import type { IWidgetApiRequest } from "matrix-widget-api";
|
import type { IWidgetApiRequest } from "matrix-widget-api";
|
||||||
import { widget, ElementWidgetActions, JoinCallData } from "../widget";
|
import { widget, ElementWidgetActions, JoinCallData } from "../widget";
|
||||||
import { ErrorView } from "../FullScreenView";
|
import { ErrorView, FullScreenView } from "../FullScreenView";
|
||||||
import { LobbyView } from "./LobbyView";
|
import { LobbyView } from "./LobbyView";
|
||||||
import { MatrixInfo } from "./VideoPreview";
|
import { MatrixInfo } from "./VideoPreview";
|
||||||
import { CallEndedView } from "./CallEndedView";
|
import { CallEndedView } from "./CallEndedView";
|
||||||
@@ -284,6 +286,16 @@ export function GroupCallView({
|
|||||||
);
|
);
|
||||||
const onShareClick = joinRule === JoinRule.Public ? onShareClickFn : null;
|
const onShareClick = joinRule === JoinRule.Public ? onShareClickFn : null;
|
||||||
|
|
||||||
|
const onHomeClick = useCallback(
|
||||||
|
(ev: React.MouseEvent) => {
|
||||||
|
ev.preventDefault();
|
||||||
|
history.push("/");
|
||||||
|
},
|
||||||
|
[history]
|
||||||
|
);
|
||||||
|
|
||||||
|
const { t } = useTranslation();
|
||||||
|
|
||||||
if (e2eeEnabled && isRoomE2EE && !e2eeSharedKey) {
|
if (e2eeEnabled && isRoomE2EE && !e2eeSharedKey) {
|
||||||
return (
|
return (
|
||||||
<ErrorView
|
<ErrorView
|
||||||
@@ -294,9 +306,21 @@ export function GroupCallView({
|
|||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
} else if (!isE2EESupported() && isRoomE2EE) {
|
||||||
|
return (
|
||||||
if (!e2eeEnabled && isRoomE2EE) {
|
<FullScreenView>
|
||||||
|
<Heading>Incompatible Browser</Heading>
|
||||||
|
<Text>
|
||||||
|
{t(
|
||||||
|
"Your web browser does not support media end-to-end encryption. Supported Browsers are Chrome, Safari, Firefox >=117"
|
||||||
|
)}
|
||||||
|
</Text>
|
||||||
|
<Link href="/" onClick={onHomeClick}>
|
||||||
|
{t("Home")}
|
||||||
|
</Link>
|
||||||
|
</FullScreenView>
|
||||||
|
);
|
||||||
|
} else if (!e2eeEnabled && isRoomE2EE) {
|
||||||
return <ErrorView error={new Error("You need to enable E2EE to join.")} />;
|
return <ErrorView error={new Error("You need to enable E2EE to join.")} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,8 +24,12 @@ limitations under the License.
|
|||||||
|
|
||||||
.toggle input {
|
.toggle input {
|
||||||
appearance: none;
|
appearance: none;
|
||||||
/* Safari puts a margin on these, which is not removed via appearance: none */
|
/*
|
||||||
|
* Safari puts a margin on these, which is not removed via appearance: none
|
||||||
|
* mobile safari also has them take up space in the DOM, so set width 0
|
||||||
|
*/
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
width: 0;
|
||||||
outline: none !important;
|
outline: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user