You've already forked matrix-react-sdk
mirror of
https://github.com/matrix-org/matrix-react-sdk.git
synced 2025-11-08 21:42:24 +03:00
Fix url encoding issue for modal widgets widgetId
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
2
src/@types/global.d.ts
vendored
2
src/@types/global.d.ts
vendored
@@ -30,6 +30,7 @@ import {Notifier} from "../Notifier";
|
||||
import type {Renderer} from "react-dom";
|
||||
import RightPanelStore from "../stores/RightPanelStore";
|
||||
import WidgetStore from "../stores/WidgetStore";
|
||||
import {ModalWidgetStore} from "../stores/ModalWidgetStore";
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
@@ -53,6 +54,7 @@ declare global {
|
||||
mxNotifier: typeof Notifier;
|
||||
mxRightPanelStore: RightPanelStore;
|
||||
mxWidgetStore: WidgetStore;
|
||||
mxModalWidgetStore: ModalWidgetStore;
|
||||
}
|
||||
|
||||
interface Document {
|
||||
|
||||
@@ -83,8 +83,9 @@ export default class ModalWidgetDialog extends React.PureComponent<IProps, IStat
|
||||
public render() {
|
||||
// TODO: Don't violate every single security principle
|
||||
|
||||
const widgetUrl = this.props.widgetDefinition.url
|
||||
+ `?widgetId=${this.getWidgetId()}&parentUrl=${encodeURIComponent(window.location.href)}`;
|
||||
const widgetId = encodeURIComponent(this.getWidgetId());
|
||||
const parentUrl = encodeURIComponent(window.location.href);
|
||||
const widgetUrl = `${this.props.widgetDefinition.url}?widgetId=${widgetId}&parentUrl=${parentUrl}`;
|
||||
|
||||
let buttons;
|
||||
if (this.props.widgetDefinition.buttons) {
|
||||
|
||||
@@ -52,7 +52,7 @@ export class ModalWidgetStore extends AsyncStoreWithClient<IState> {
|
||||
this.openSourceWidgetId = sourceWidgetId;
|
||||
this.modalInstance = Modal.createTrackedDialog('Modal Widget', '', ModalWidgetDialog, {
|
||||
widgetDefinition: {...requestData},
|
||||
sourceWidgetId: sourceWidgetId,
|
||||
sourceWidgetId,
|
||||
onFinished: (success: boolean, data?: any) => {
|
||||
if (!success) {
|
||||
this.closeModalWidget(sourceWidgetId, {
|
||||
@@ -84,3 +84,5 @@ export class ModalWidgetStore extends AsyncStoreWithClient<IState> {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
window.mxModalWidgetStore = ModalWidgetStore.instance;
|
||||
|
||||
Reference in New Issue
Block a user