diff options
author | Kegan Dougal <kegan@matrix.org> | 2014-11-12 11:24:05 +0000 |
---|---|---|
committer | Kegan Dougal <kegan@matrix.org> | 2014-11-12 11:24:05 +0000 |
commit | 2c400363e8f4c7d726aee06119fb4c4f18edfddd (patch) | |
tree | 1b5b73bff942fcb260dbf54db61dcde7149891e7 | |
parent | Move room alias/id mapping logic from matrixService to modelService. (diff) | |
download | synapse-2c400363e8f4c7d726aee06119fb4c4f18edfddd.tar.xz |
SYWEB-146: Fix room ID leaking on recents page when the name of the room is just an alias.
-rw-r--r-- | syweb/webclient/components/matrix/matrix-service.js | 1 | ||||
-rw-r--r-- | syweb/webclient/components/matrix/model-service.js | 10 |
2 files changed, 8 insertions, 3 deletions
diff --git a/syweb/webclient/components/matrix/matrix-service.js b/syweb/webclient/components/matrix/matrix-service.js index 70747155f9..c1264887c8 100644 --- a/syweb/webclient/components/matrix/matrix-service.js +++ b/syweb/webclient/components/matrix/matrix-service.js @@ -39,7 +39,6 @@ angular.module('matrixService', []) // Current version of permanent storage var configVersion = 0; var prefixPath = "/_matrix/client/api/v1"; - var MAPPING_PREFIX = "alias_for_"; var doRequest = function(method, path, params, data, $httpParams) { if (!config) { diff --git a/syweb/webclient/components/matrix/model-service.js b/syweb/webclient/components/matrix/model-service.js index c6f0defb61..578804c994 100644 --- a/syweb/webclient/components/matrix/model-service.js +++ b/syweb/webclient/components/matrix/model-service.js @@ -31,6 +31,10 @@ angular.module('modelService', []) // alias / id lookups var roomIdToAlias = {}; var aliasToRoomId = {}; + var setRoomIdToAliasMapping = function(roomId, alias) { + roomIdToAlias[roomId] = alias; + aliasToRoomId[alias] = roomId; + }; /***** Room Object *****/ var Room = function Room(room_id) { @@ -114,6 +118,9 @@ angular.module('modelService', []) rm.event = event; this.members[event.state_key] = rm; } + else if (event.type === "m.room.aliases") { + setRoomIdToAliasMapping(event.room_id, event.content.aliases[0]); + } }, storeStateEvents: function storeState(events) { @@ -210,8 +217,7 @@ angular.module('modelService', []) }, createRoomIdToAliasMapping: function(roomId, alias) { - roomIdToAlias[roomId] = alias; - aliasToRoomId[alias] = roomId; + setRoomIdToAliasMapping(roomId, alias); }, getRoomIdToAliasMapping: function(roomId) { |