Fixed bug which displayed an older room topic because it was being returned from /initialSync messages key. Check the ts of the event before clobbering state.

pull/10/head
Kegan Dougal 2014-09-08 17:27:51 -07:00
parent ef2111099a
commit f64cc237fc
1 changed files with 13 additions and 1 deletions

View File

@ -150,10 +150,22 @@ angular.module('eventHandlerService', [])
}; };
var handleRoomTopic = function(event, isLiveEvent) { var handleRoomTopic = function(event, isLiveEvent) {
console.log("handleRoomTopic " + isLiveEvent); console.log("handleRoomTopic live="+isLiveEvent);
initRoom(event.room_id); initRoom(event.room_id);
// live events always update, but non-live events only update if the
// ts is later.
if (!isLiveEvent) {
var eventTs = event.ts;
var storedEvent = $rootScope.events.rooms[event.room_id][event.type];
if (storedEvent) {
if (storedEvent.ts > eventTs) {
// ignore it, we have a newer one already.
return;
}
}
}
$rootScope.events.rooms[event.room_id][event.type] = event; $rootScope.events.rooms[event.room_id][event.type] = event;
}; };