Merge pull request #560 from matrix-org/luke/fix-join-part-collapsing-regressions2
Fix more membership change collapsing bugs
This commit is contained in:
commit
f3582edb99
1 changed files with 8 additions and 3 deletions
|
@ -156,16 +156,21 @@ module.exports = React.createClass({
|
||||||
let senders = new Set(eventsToRender.map((e) => e.getSender()));
|
let senders = new Set(eventsToRender.map((e) => e.getSender()));
|
||||||
senders.forEach(
|
senders.forEach(
|
||||||
(userId) => {
|
(userId) => {
|
||||||
// Only push the last event if it isn't the same membership as the first
|
|
||||||
|
|
||||||
let userEvents = eventsToRender.filter((e) => {
|
let userEvents = eventsToRender.filter((e) => {
|
||||||
return e.getSender() === userId;
|
return e.getSender() === userId;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// NB: These may be the same event, in which case the lastEvent is used
|
||||||
|
// because prev_content should != content
|
||||||
let firstEvent = userEvents[0];
|
let firstEvent = userEvents[0];
|
||||||
let lastEvent = userEvents[userEvents.length - 1];
|
let lastEvent = userEvents[userEvents.length - 1];
|
||||||
|
|
||||||
if (firstEvent.getContent().membership !== lastEvent.getContent().membership) {
|
// Membership BEFORE eventsToRender
|
||||||
|
let previousMembership = firstEvent.getPrevContent().membership || "leave";
|
||||||
|
|
||||||
|
// Otherwise, if the last membership event differs from previousMembership,
|
||||||
|
// use that.
|
||||||
|
if (previousMembership !== lastEvent.getContent().membership) {
|
||||||
filteredEvents.push(lastEvent);
|
filteredEvents.push(lastEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue