Merge pull request #1314 from matrix-org/rxl881/securityWarning
Don't show widget security warning to the person that added it to the room
This commit is contained in:
commit
0c99abc89b
2 changed files with 10 additions and 3 deletions
|
@ -44,6 +44,10 @@ export default React.createClass({
|
||||||
// Specifying 'fullWidth' as true will render the app tile to fill the width of the app drawer continer.
|
// Specifying 'fullWidth' as true will render the app tile to fill the width of the app drawer continer.
|
||||||
// This should be set to true when there is only one widget in the app drawer, otherwise it should be false.
|
// This should be set to true when there is only one widget in the app drawer, otherwise it should be false.
|
||||||
fullWidth: React.PropTypes.bool,
|
fullWidth: React.PropTypes.bool,
|
||||||
|
// UserId of the current user
|
||||||
|
userId: React.PropTypes.string.isRequired,
|
||||||
|
// UserId of the entity that added / modified the widget
|
||||||
|
creatorUserId: React.PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
@ -59,7 +63,8 @@ export default React.createClass({
|
||||||
loading: false,
|
loading: false,
|
||||||
widgetUrl: this.props.url,
|
widgetUrl: this.props.url,
|
||||||
widgetPermissionId: widgetPermissionId,
|
widgetPermissionId: widgetPermissionId,
|
||||||
hasPermissionToLoad: Boolean(hasPermissionToLoad === 'true'),
|
// Assume that widget has permission to load if we are the user who added it to the room, or if explicitly granted by the user
|
||||||
|
hasPermissionToLoad: hasPermissionToLoad === 'true' || this.props.userId === this.props.creatorUserId,
|
||||||
error: null,
|
error: null,
|
||||||
deleting: false,
|
deleting: false,
|
||||||
};
|
};
|
||||||
|
|
|
@ -93,7 +93,7 @@ module.exports = React.createClass({
|
||||||
return pathTemplate;
|
return pathTemplate;
|
||||||
},
|
},
|
||||||
|
|
||||||
_initAppConfig: function(appId, app) {
|
_initAppConfig: function(appId, app, sender) {
|
||||||
const user = MatrixClientPeg.get().getUser(this.props.userId);
|
const user = MatrixClientPeg.get().getUser(this.props.userId);
|
||||||
const params = {
|
const params = {
|
||||||
'$matrix_user_id': this.props.userId,
|
'$matrix_user_id': this.props.userId,
|
||||||
|
@ -111,6 +111,7 @@ module.exports = React.createClass({
|
||||||
app.id = appId;
|
app.id = appId;
|
||||||
app.name = app.name || app.type;
|
app.name = app.name || app.type;
|
||||||
app.url = this.encodeUri(app.url, params);
|
app.url = this.encodeUri(app.url, params);
|
||||||
|
app.creatorUserId = (sender && sender.userId) ? sender.userId : null;
|
||||||
|
|
||||||
return app;
|
return app;
|
||||||
},
|
},
|
||||||
|
@ -131,7 +132,7 @@ module.exports = React.createClass({
|
||||||
return appsStateEvents.filter((ev) => {
|
return appsStateEvents.filter((ev) => {
|
||||||
return ev.getContent().type && ev.getContent().url;
|
return ev.getContent().type && ev.getContent().url;
|
||||||
}).map((ev) => {
|
}).map((ev) => {
|
||||||
return this._initAppConfig(ev.getStateKey(), ev.getContent());
|
return this._initAppConfig(ev.getStateKey(), ev.getContent(), ev.sender);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -183,6 +184,7 @@ module.exports = React.createClass({
|
||||||
fullWidth={arr.length<2 ? true : false}
|
fullWidth={arr.length<2 ? true : false}
|
||||||
room={this.props.room}
|
room={this.props.room}
|
||||||
userId={this.props.userId}
|
userId={this.props.userId}
|
||||||
|
creatorUserId={app.creatorUserId}
|
||||||
/>);
|
/>);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue