From e8f77256de3d1b37a40d6cf43c2232f4041d0c3e Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Mon, 11 Jan 2016 17:35:46 +0000 Subject: [PATCH] Set the updated .sender and .target props on the event when the event itself updates these props. --- lib/models/room.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/models/room.js b/lib/models/room.js index 46c07fb90..03fd00722 100644 --- a/lib/models/room.js +++ b/lib/models/room.js @@ -250,8 +250,10 @@ Room.prototype.addEventsToTimeline = function(events, toStartOfTimeline) { stateContext.setStateEvents([events[i]]); // it is possible that the act of setting the state event means we // can set more metadata (specifically sender/target props), so try - // it again if the prop wasn't previously set. - if (!events[i].sender) { + // it again if the prop wasn't previously set. It may also mean that + // the sender/target is updated (if the event set was a room member event) + // so we want to use the *updated* member (new avatar/name) instead. + if (!events[i].sender || events[i].getType() === "m.room.member") { setEventMetadata(events[i], stateContext, toStartOfTimeline); } }