Remove getRoomAliasAndDisplayName: room name logic is in mRoomName filter, and this method was only used for /publicRooms requests.

This commit is contained in:
Kegan Dougal 2014-11-12 11:49:27 +00:00
parent e7ccd26c70
commit 78ff63a9c7
2 changed files with 10 additions and 40 deletions

View File

@ -179,43 +179,6 @@ angular.module('modelService', [])
return room.current_room_state.members[user_id];
},
/**
* Get the room_alias & room_display_name which are computed from data
* already retrieved from the server.
* @param {Room object} room one element of the array returned by the response
* of rooms() and publicRooms()
* @returns {Object} {room_alias: "...", room_display_name: "..."}
*/
getRoomAliasAndDisplayName: function(room) {
var result = {
room_alias: undefined,
room_display_name: undefined
};
var alias = this.getRoomIdToAliasMapping(room.room_id);
if (alias) {
// use the existing alias from storage
result.room_alias = alias;
result.room_display_name = alias;
}
// XXX: this only lets us learn aliases from our local HS - we should
// make the client stop returning this if we can trust m.room.aliases state events
else if (room.aliases && room.aliases[0]) {
// save the mapping
// TODO: select the smarter alias from the array
this.createRoomIdToAliasMapping(room.room_id, room.aliases[0]);
result.room_display_name = room.aliases[0];
result.room_alias = room.aliases[0];
}
else if (room.membership === "invite" && "inviter" in room) {
result.room_display_name = room.inviter + "'s room";
}
else {
// last resort use the room id
result.room_display_name = room.room_id;
}
return result;
},
createRoomIdToAliasMapping: function(roomId, alias) {
setRoomIdToAliasMapping(roomId, alias);
},

View File

@ -54,10 +54,17 @@ angular.module('HomeController', ['matrixService', 'eventHandlerService', 'Recen
$scope.public_rooms = response.data.chunk;
for (var i = 0; i < $scope.public_rooms.length; i++) {
var room = $scope.public_rooms[i];
// Add room_alias & room_display_name members
angular.extend(room, modelService.getRoomAliasAndDisplayName(room));
if (room.aliases && room.aliases.length > 0) {
room.room_display_name = room.aliases[0];
room.room_alias = room.aliases[0];
}
else if (room.name) {
room.room_display_name = room.name;
}
else {
room.room_display_name = room.room_id;
}
}
}
);