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/4/merge
Kegan Dougal 11 years ago
parent ef2111099a
commit f64cc237fc
  1. 14
      webclient/components/matrix/event-handler-service.js

@ -150,10 +150,22 @@ angular.module('eventHandlerService', [])
};
var handleRoomTopic = function(event, isLiveEvent) {
console.log("handleRoomTopic " + isLiveEvent);
console.log("handleRoomTopic live="+isLiveEvent);
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;
};

Loading…
Cancel
Save