diff --git a/src/vector/jitsi/index.ts b/src/vector/jitsi/index.ts index 95d3301113c..e06073f1d22 100644 --- a/src/vector/jitsi/index.ts +++ b/src/vector/jitsi/index.ts @@ -28,6 +28,7 @@ import { ElementWidgetActions } from "matrix-react-sdk/src/stores/widgets/Elemen import { logger } from "matrix-js-sdk/src/logger"; import { IConfigOptions } from "matrix-react-sdk/src/IConfigOptions"; import { SnakedObject } from "matrix-react-sdk/src/utils/SnakedObject"; +import { ElementWidgetCapabilities } from "matrix-react-sdk/src/stores/widgets/ElementWidgetCapabilities"; import { getVectorConfig } from "../getconfig"; @@ -98,6 +99,13 @@ const setupCompleted = (async (): Promise => { widgetApiReady = new Promise((resolve) => widgetApi.once("ready", resolve)); widgetApi.requestCapabilities(VideoConferenceCapabilities); + + // jitsi cannot work in a popup if auth token is provided because widgetApi is not available there + // so check the token and request the 'requires_client' capability to hide the popup icon in the Element + if (qsParam("auth", true) === "openidtoken-jwt") { + widgetApi.requestCapability(ElementWidgetCapabilities.RequiresClient); + } + widgetApi.start(); const handleAction = (