diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index c39ea3d35e..c16b80ec62 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -467,6 +467,7 @@ module.exports = React.createClass({ var Loader = sdk.getComponent("elements.Spinner"); var modal = Modal.createDialog(Loader); + // XXX: FIXME: deduplicate this with MemberInfo's 'start chat' impl MatrixClientPeg.get().createRoom({ preset: "private_chat", // Allow guests by default since the room is private and they'd diff --git a/src/components/views/rooms/MemberInfo.js b/src/components/views/rooms/MemberInfo.js index d759b8f2b5..9477155bd1 100644 --- a/src/components/views/rooms/MemberInfo.js +++ b/src/components/views/rooms/MemberInfo.js @@ -248,8 +248,21 @@ module.exports = React.createClass({ else { self.setState({ creatingRoom: true }); MatrixClientPeg.get().createRoom({ + // XXX: FIXME: deduplicate this with "view_create_room" in MatrixChat invite: [this.props.member.userId], - preset: "private_chat" + preset: "private_chat", + // Allow guests by default since the room is private and they'd + // need an invite. This means clicking on a 3pid invite email can + // actually drop you right in to a chat. + initial_state: [ + { + content: { + guest_access: 'can_join' + }, + type: 'm.room.guest_access', + state_key: '', + } + ], }).done( function(res) { self.setState({ creatingRoom: false });