diff --git a/src/TextForEvent.js b/src/TextForEvent.js index 13870f966c..95066912ac 100644 --- a/src/TextForEvent.js +++ b/src/TextForEvent.js @@ -252,18 +252,21 @@ function textForWidgetEvent(event) { const senderName = event.sender ? event.sender.name : event.getSender(); const previousContent = event.getPrevContent() || {}; const {name, type, url} = event.getContent() || {}; - let widgetName = widgetName || name || type || previousContent.type; - widgetName = widgetName ? widgetName + ' ' : ''; + let widgetName = name || previousContent.name || type || previousContent.type || ''; + // Apply sentence case to widget name + if (widgetName && widgetName.length > 0) { + widgetName = widgetName[0].toUpperCase() + widgetName.slice(1) + ' '; + } // If the widget was removed, its content should be {}, but this is sufficiently // equivalent to that condition. if (url) { - return _t('%(senderName)s added a %(widgetName)swidget', { - senderName, widgetName, + return _t('%(widgetName)s widget added by %(senderName)s', { + widgetName, senderName, }); } else { - return _t('%(senderName)s removed a %(widgetName)swidget', { - senderName, widgetName, + return _t('%(widgetName)s widget removed by %(senderName)s', { + widgetName, senderName, }); } } diff --git a/src/components/views/elements/AppTile.js b/src/components/views/elements/AppTile.js index 0dd051ba33..718220c7be 100644 --- a/src/components/views/elements/AppTile.js +++ b/src/components/views/elements/AppTile.js @@ -223,44 +223,46 @@ export default React.createClass({ safeWidgetUrl = url.format(parsedWidgetUrl); } - if (this.state.loading) { - appTileBody = ( -
- -
- ); - } else if (this.state.hasPermissionToLoad == true) { - if (this.isMixedContent()) { + if (this.props.show) { + if (this.state.loading) { + appTileBody = ( +
+ +
+ ); + } else if (this.state.hasPermissionToLoad == true) { + if (this.isMixedContent()) { + appTileBody = ( +
+ +
+ ); + } else { + appTileBody = ( +
+ +
+ ); + } + } else { + const isRoomEncrypted = MatrixClientPeg.get().isRoomEncrypted(this.props.room.roomId); appTileBody = (
-
); - } else if (this.props.show) { - appTileBody = ( -
- -
- ); } - } else { - const isRoomEncrypted = MatrixClientPeg.get().isRoomEncrypted(this.props.room.roomId); - appTileBody = ( -
- -
- ); } // editing is done in scalar diff --git a/src/components/views/elements/Pill.js b/src/components/views/elements/Pill.js index 7dee5f6a40..214abc2329 100644 --- a/src/components/views/elements/Pill.js +++ b/src/components/views/elements/Pill.js @@ -171,7 +171,7 @@ const Pill = React.createClass({ } pillClass = 'mx_UserPill'; href = null; - onClick = this.onUserPillClicked.bind(this); + onClick = this.onUserPillClicked; } } break; diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index aa4f71fcb3..c3ac9e7023 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -972,7 +972,7 @@ "Failed to upload image": "Failed to upload image", "Failed to update group": "Failed to update group", "Hide avatars in user and room mentions": "Hide avatars in user and room mentions", - "%(senderName)s added a %(widgetName)swidget": "%(senderName)s added a %(widgetName)swidget", - "%(senderName)s removed a %(widgetName)swidget": "%(senderName)s removed a %(widgetName)swidget", + "%(widgetName)s widget added by %(senderName)s": "%(widgetName)s widget added by %(senderName)s", + "%(widgetName)s widget removed by %(senderName)s": "%(widgetName)s widget removed by %(senderName)s", "Robot check is currently unavailable on desktop - please use a web browser": "Robot check is currently unavailable on desktop - please use a web browser" }