You've already forked matrix-react-sdk
mirror of
https://github.com/matrix-org/matrix-react-sdk.git
synced 2025-11-13 08:02:38 +03:00
Send visibility only when changed, and messaging is available
This commit is contained in:
@@ -172,12 +172,7 @@ export default class AppTile extends React.Component {
|
||||
componentDidUpdate() {
|
||||
// Allow parents to access widget messaging
|
||||
if (this.props.collectWidgetMessaging) {
|
||||
this.props.collectWidgetMessaging(new Promise((resolve) => {
|
||||
if (this.widgetMessaging) resolve(this.widgetMessaging);
|
||||
|
||||
// Expect this to be resolved later
|
||||
this._exposeWidgetMessaging = resolve;
|
||||
}));
|
||||
this.props.collectWidgetMessaging(this.widgetMessaging);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -105,11 +105,7 @@ export default class Stickerpicker extends React.Component {
|
||||
}
|
||||
|
||||
componentDidUpdate(prevProps, prevState) {
|
||||
if (this._appWidgetMessaging &&
|
||||
prevState.showStickers !== this.state.showStickers
|
||||
) {
|
||||
this._appWidgetMessaging.sendVisibility(this.state.showStickers);
|
||||
}
|
||||
this._sendVisibilityToWidget(this.state.showStickers);
|
||||
}
|
||||
|
||||
_imError(errorMsg, e) {
|
||||
@@ -147,10 +143,19 @@ export default class Stickerpicker extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
async _collectWidgetMessaging(prom) {
|
||||
const widgetMessaging = await prom;
|
||||
_collectWidgetMessaging(widgetMessaging) {
|
||||
this._appWidgetMessaging = widgetMessaging;
|
||||
this._appWidgetMessaging.sendVisibility(true);
|
||||
|
||||
// Do this now instead of in componentDidMount because we might not have had the
|
||||
// reference to widgetMessaging when mounting
|
||||
this._sendVisibilityToWidget(true);
|
||||
}
|
||||
|
||||
_sendVisibilityToWidget(visible) {
|
||||
if (this._appWidgetMessaging && visible !== this._prevSentVisibility) {
|
||||
this._appWidgetMessaging.sendVisibility(visible);
|
||||
this._prevSentVisibility = visible;
|
||||
}
|
||||
}
|
||||
|
||||
_getStickerpickerContent() {
|
||||
|
||||
Reference in New Issue
Block a user