Adjusted webclient to use new state paths. Updated membership msg template to actually show the person invited. Factored out common membership functions in matrix service.

This commit is contained in:
Kegan Dougal 2014-08-26 10:24:47 +01:00
parent 52b64617f9
commit 5796232cb1
6 changed files with 24 additions and 47 deletions

View file

@ -154,7 +154,10 @@ angular.module('RoomController', ['ngSanitize', 'mUtilities'])
var updateMemberList = function(chunk) {
if (chunk.room_id != $scope.room_id) return;
var isNewMember = !(chunk.target_user_id in $scope.members);
// set target_user_id to keep things clear
var target_user_id = chunk.state_key;
var isNewMember = !(target_user_id in $scope.members);
if (isNewMember) {
// FIXME: why are we copying these fields around inside chunk?
if ("state" in chunk.content) {
@ -172,7 +175,7 @@ angular.module('RoomController', ['ngSanitize', 'mUtilities'])
if ("avatar_url" in chunk.content) {
chunk.avatar_url = chunk.content.avatar_url;
}
$scope.members[chunk.target_user_id] = chunk;
$scope.members[target_user_id] = chunk;
/*
// Stale code for explicitly hammering the homeserver for every displayname & avatar_url
@ -202,13 +205,13 @@ angular.module('RoomController', ['ngSanitize', 'mUtilities'])
});
*/
if (chunk.target_user_id in $rootScope.presence) {
updatePresence($rootScope.presence[chunk.target_user_id]);
if (target_user_id in $rootScope.presence) {
updatePresence($rootScope.presence[target_user_id]);
}
}
else {
// selectively update membership else it will nuke the picture and displayname too :/
var member = $scope.members[chunk.target_user_id];
var member = $scope.members[target_user_id];
member.content.membership = chunk.content.membership;
}
}