diff --git a/src/components/structures/GroupView.js b/src/components/structures/GroupView.js index 21c503fbf1..26f8c4a413 100644 --- a/src/components/structures/GroupView.js +++ b/src/components/structures/GroupView.js @@ -448,8 +448,16 @@ export default React.createClass({ _initGroupStore: function(groupId) { this._groupStore = GroupStoreCache.getGroupStore(MatrixClientPeg.get(), groupId); this._groupStore.on('update', () => { + const summary = this._groupStore.getSummary(); + if (summary.profile) { + // Default profile fields should be "" for later sending to the server (which + // requires that the fields are strings, not null) + ["avatar_url", "long_description", "name", "short_description"].forEach((k) => { + summary.profile[k] = summary.profile[k] || ""; + }); + } this.setState({ - summary: this._groupStore.getSummary(), + summary, isGroupPublicised: this._groupStore.getGroupPublicity(), isUserPrivileged: this._groupStore.isUserPrivileged(), error: null, diff --git a/src/components/views/dialogs/AddressPickerDialog.js b/src/components/views/dialogs/AddressPickerDialog.js index 2637f9d466..8c6f033bdc 100644 --- a/src/components/views/dialogs/AddressPickerDialog.js +++ b/src/components/views/dialogs/AddressPickerDialog.js @@ -489,7 +489,12 @@ module.exports = React.createClass({ const AddressTile = sdk.getComponent("elements.AddressTile"); for (let i = 0; i < this.state.userList.length; i++) { query.push( - , + , ); } } @@ -539,6 +544,7 @@ module.exports = React.createClass({ addressSelector = ( {this.addressSelector = ref;}} addressList={this.state.queryList} + showAddress={this.props.pickerType === 'user'} onSelected={this.onSelected} truncateAt={TRUNCATE_QUERY_LIST} /> diff --git a/src/components/views/elements/AddressSelector.js b/src/components/views/elements/AddressSelector.js index 9a8cd34867..9330206a39 100644 --- a/src/components/views/elements/AddressSelector.js +++ b/src/components/views/elements/AddressSelector.js @@ -30,6 +30,8 @@ export default React.createClass({ // List of the addresses to display addressList: React.PropTypes.arrayOf(UserAddressType).isRequired, + // Whether to show the address on the address tiles + showAddress: React.PropTypes.bool, truncateAt: React.PropTypes.number.isRequired, selected: React.PropTypes.number, @@ -142,7 +144,13 @@ export default React.createClass({ key={this.props.addressList[i].addressType + "/" + this.props.addressList[i].address} ref={(ref) => { this.addressListElement = ref; }} > - + , ); } diff --git a/src/components/views/elements/AddressTile.js b/src/components/views/elements/AddressTile.js index a61cbbc794..c8ea4062b1 100644 --- a/src/components/views/elements/AddressTile.js +++ b/src/components/views/elements/AddressTile.js @@ -87,7 +87,10 @@ export default React.createClass({ info = ( { name } - { address.address } + { this.props.showAddress ? + { address.address } : + + } ); } else if (isMatrixAddress) {