Merge pull request #8522 from matrix-org/travis/widget-screenshots

Move widget screenshots labs flag to devtools
This commit is contained in:
Travis Ralston 2022-05-06 13:21:47 -06:00 committed by GitHub
commit eca8494c66
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 25 deletions

View file

@ -110,7 +110,8 @@ const WidgetContextMenu: React.FC<IProps> = ({
}
let snapshotButton;
if (widgetMessaging?.hasCapability(MatrixCapabilities.Screenshots)) {
const screenshotsEnabled = SettingsStore.getValue("enableWidgetScreenshots");
if (screenshotsEnabled && widgetMessaging?.hasCapability(MatrixCapabilities.Screenshots)) {
const onSnapshotClick = () => {
widgetMessaging?.takeScreenshot().then(data => {
dis.dispatch({

View file

@ -101,6 +101,7 @@ const DevtoolsDialog: React.FC<IProps> = ({ roomId, onFinished }) => {
<h3>{ _t("Options") }</h3>
<SettingsFlag name="developerMode" level={SettingLevel.ACCOUNT} />
<SettingsFlag name="showHiddenEventsInTimeline" level={SettingLevel.DEVICE} />
<SettingsFlag name="enableWidgetScreenshots" level={SettingLevel.ACCOUNT} />
</div>
</BaseTool>;
}

View file

@ -92,14 +92,6 @@ export default class LabsUserSettingsTab extends React.Component<{}, IState> {
);
});
groups.getOrCreate(LabGroup.Widgets, []).push(
<SettingsFlag
key="enableWidgetScreenshots"
name="enableWidgetScreenshots"
level={SettingLevel.ACCOUNT}
/>,
);
groups.getOrCreate(LabGroup.Experimental, []).push(
<SettingsFlag
key="lowBandwidth"

View file

@ -17,7 +17,7 @@ limitations under the License.
import * as url from "url";
import { base32 } from "rfc4648";
import { Capability, IWidget, IWidgetData, MatrixCapabilities } from "matrix-widget-api";
import { IWidget, IWidgetData } from "matrix-widget-api";
import { Room } from "matrix-js-sdk/src/models/room";
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
import { logger } from "matrix-js-sdk/src/logger";
@ -496,21 +496,6 @@ export default class WidgetUtils {
return app as IApp;
}
static getCapWhitelistForAppTypeInRoomId(appType: string, roomId: string): Capability[] {
const enableScreenshots = SettingsStore.getValue("enableWidgetScreenshots", roomId);
const capWhitelist = enableScreenshots ? [MatrixCapabilities.Screenshots] : [];
// Obviously anyone that can add a widget can claim it's a jitsi widget,
// so this doesn't really offer much over the set of domains we load
// widgets from at all, but it probably makes sense for sanity.
if (WidgetType.JITSI.matches(appType)) {
capWhitelist.push(MatrixCapabilities.AlwaysOnScreen);
}
return capWhitelist;
}
static getLocalJitsiWrapperUrl(opts: {forLocalRender?: boolean, auth?: string} = {}) {
// NB. we can't just encodeURIComponent all of these because the $ signs need to be there
const queryStringParts = [