diff options
author | Emmanuel ROHEE <erohee@amdocs.com> | 2014-09-10 16:26:11 +0200 |
---|---|---|
committer | Emmanuel ROHEE <erohee@amdocs.com> | 2014-09-10 16:26:11 +0200 |
commit | 30bfa911fc4de7c2c23ec9c8f7975e4e60e96ebb (patch) | |
tree | c264eff1290926785e9e958902e102b242a45994 /webclient | |
parent | Removed wrong comments about recents-controller.js: it uses $rootScope.rooms ... (diff) | |
download | synapse-30bfa911fc4de7c2c23ec9c8f7975e4e60e96ebb.tar.xz |
Member event: store use the the latest one
Diffstat (limited to 'webclient')
-rw-r--r-- | webclient/components/matrix/event-handler-service.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/webclient/components/matrix/event-handler-service.js b/webclient/components/matrix/event-handler-service.js index 80a15182ae..38b7bd6b6d 100644 --- a/webclient/components/matrix/event-handler-service.js +++ b/webclient/components/matrix/event-handler-service.js @@ -129,8 +129,13 @@ angular.module('eventHandlerService', []) } } - $rootScope.events.rooms[event.room_id].members[event.state_key] = event; - $rootScope.$broadcast(MEMBER_EVENT, event, isLiveEvent); + // Use data from state event or the latest data from the stream. + // Do not care of events that come when paginating back + if (isStateEvent || isLiveEvent) { + $rootScope.events.rooms[event.room_id].members[event.state_key] = event; + } + + $rootScope.$broadcast(MEMBER_EVENT, event, isLiveEvent, isStateEvent); }; var handlePresence = function(event, isLiveEvent) { |