From 5e050c6276eb3d8e423ec1adc4d777a662244578 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 15 Mar 2016 00:49:44 +0000 Subject: [PATCH] hopefully fix https://github.com/vector-im/vector-web/issues/819 --- src/components/structures/MatrixChat.js | 10 +++++++--- src/components/structures/RoomView.js | 7 ++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index e50669c26a..4f30cc4f96 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -325,7 +325,7 @@ module.exports = React.createClass({ break; case 'view_room': this._viewRoom( - payload.room_id, payload.show_settings, payload.event_id, + payload.room_id, payload.room_alias, payload.show_settings, payload.event_id, payload.invite_sign_url, payload.oob_data ); break; @@ -371,6 +371,7 @@ module.exports = React.createClass({ dis.dispatch({ action: 'view_room', room_id: foundRoom.roomId, + room_alias: payload.room_alias, event_id: payload.event_id, invite_sign_url: payload.invite_sign_url, oob_data: payload.oob_data, @@ -383,6 +384,7 @@ module.exports = React.createClass({ dis.dispatch({ action: 'view_room', room_id: result.room_id, + room_alias: payload.room_alias, event_id: payload.event_id, invite_sign_url: payload.invite_sign_url, oob_data: payload.oob_data, @@ -476,7 +478,7 @@ module.exports = React.createClass({ // @param {Object} oob_data Object of additional data about the room // that has been passed out-of-band (eg. // room name and avatar from an invite email) - _viewRoom: function(roomId, showSettings, eventId, invite_sign_url, oob_data) { + _viewRoom: function(roomId, roomAlias, showSettings, eventId, invite_sign_url, oob_data) { // before we switch room, record the scroll state of the current room this._updateScrollMap(); @@ -484,6 +486,7 @@ module.exports = React.createClass({ var newState = { currentRoom: roomId, + currentRoomAlias: roomAlias, initialEventId: eventId, highlightedEventId: eventId, initialEventPixelOffset: undefined, @@ -508,7 +511,7 @@ module.exports = React.createClass({ // the new screen yet (we won't be showing it yet) // The normal case where this happens is navigating // to the room in the URL bar on page load. - var presentedId = roomId; + var presentedId = roomAlias || roomId; var room = MatrixClientPeg.get().getRoom(roomId); if (room) { var theAlias = MatrixTools.getCanonicalAliasForRoom(room); @@ -912,6 +915,7 @@ module.exports = React.createClass({ { - return MatrixClientPeg.get().joinRoom(this.props.roomId, { inviteSignUrl: this.props.inviteSignUrl } ) + return MatrixClientPeg.get().joinRoom(this.props.roomAlias || this.props.roomId, + { inviteSignUrl: this.props.inviteSignUrl } ) }).done(function() { // It is possible that there is no Room yet if state hasn't come down // from /sync - joinRoom will resolve when the HTTP request to join succeeds,