Support managed hybrid widgets from config

This adds additional support to the managed hybrid widget experiment to also
support pulling the build URL from Element config.
This commit is contained in:
J. Ryan Stinnett 2021-01-29 16:26:31 +00:00
parent 3f89da9b8f
commit f8192a8314

View file

@ -21,6 +21,7 @@ import WidgetUtils from "../utils/WidgetUtils";
import { IStoredLayout, WidgetLayoutStore } from "../stores/widgets/WidgetLayoutStore"; import { IStoredLayout, WidgetLayoutStore } from "../stores/widgets/WidgetLayoutStore";
import WidgetEchoStore from "../stores/WidgetEchoStore"; import WidgetEchoStore from "../stores/WidgetEchoStore";
import WidgetStore from "../stores/WidgetStore"; import WidgetStore from "../stores/WidgetStore";
import SdkConfig from "../SdkConfig";
/* eslint-disable camelcase */ /* eslint-disable camelcase */
interface IManagedHybridWidgetData { interface IManagedHybridWidgetData {
@ -30,10 +31,16 @@ interface IManagedHybridWidgetData {
} }
/* eslint-enable camelcase */ /* eslint-enable camelcase */
export function isManagedHybridWidgetEnabled(): boolean { function getWidgetBuildUrl(): string {
const callBehaviour = getCallBehaviourWellKnown(); if (SdkConfig.get().widget_build_url) {
return SdkConfig.get().widget_build_url;
}
/* eslint-disable-next-line camelcase */ /* eslint-disable-next-line camelcase */
return !!callBehaviour?.widget_build_url; return getCallBehaviourWellKnown()?.widget_build_url
}
export function isManagedHybridWidgetEnabled(): boolean {
return !!getWidgetBuildUrl();
} }
export async function addManagedHybridWidget(roomId: string) { export async function addManagedHybridWidget(roomId: string) {
@ -51,7 +58,7 @@ export async function addManagedHybridWidget(roomId: string) {
// Get widget data // Get widget data
/* eslint-disable-next-line camelcase */ /* eslint-disable-next-line camelcase */
const widgetBuildUrl = getCallBehaviourWellKnown()?.widget_build_url; const widgetBuildUrl = getWidgetBuildUrl();
if (!widgetBuildUrl) { if (!widgetBuildUrl) {
return; return;
} }