Reinitialize room when creating a RoomController so that we start off with a clean slate, as it expects/

paul/schema_breaking_changes
Erik Johnston 2014-08-22 10:50:10 +01:00
parent dde50d4245
commit 74c90f7815
2 changed files with 13 additions and 1 deletions

View File

@ -44,6 +44,12 @@ angular.module('eventHandlerService', [])
$rootScope.events.rooms[room_id].members = {};
}
}
var reInitRoom = function(room_id) {
$rootScope.events.rooms[room_id] = {};
$rootScope.events.rooms[room_id].messages = [];
$rootScope.events.rooms[room_id].members = {};
}
var handleMessage = function(event, isLiveEvent) {
if ("membership_target" in event.content) {
@ -118,6 +124,10 @@ angular.module('eventHandlerService', [])
for (var i=0; i<events.length; i++) {
this.handleEvent(events[i], isLiveEvents);
}
}
},
reInitRoom: function(room_id) {
reInitRoom(room_id);
},
};
}]);

View File

@ -316,6 +316,8 @@ angular.module('RoomController', ['ngSanitize', 'mUtilities'])
};
var onInit2 = function() {
eventHandlerService.reInitRoom($scope.room_id);
// Join the room
matrixService.join($scope.room_id).then(
function() {