Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit b9c43c8

Browse files
authored
Merge pull request #5355 from matrix-org/babolivier/heroes_left_members
Include left members in room summaries' heroes
2 parents 99d3497 + 804f26a commit b9c43c8

File tree

2 files changed

+20
-15
lines changed

2 files changed

+20
-15
lines changed

changelog.d/5355.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Include left members in room summaries' heroes.

synapse/handlers/sync.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -598,15 +598,28 @@ def compute_summary(self, room_id, sync_config, batch, state, now_token):
598598
if canonical_alias and canonical_alias.content:
599599
defer.returnValue(summary)
600600

601+
me = sync_config.user.to_string()
602+
601603
joined_user_ids = [
602-
r[0] for r in details.get(Membership.JOIN, empty_ms).members
604+
r[0]
605+
for r in details.get(Membership.JOIN, empty_ms).members
606+
if r[0] != me
603607
]
604608
invited_user_ids = [
605-
r[0] for r in details.get(Membership.INVITE, empty_ms).members
609+
r[0]
610+
for r in details.get(Membership.INVITE, empty_ms).members
611+
if r[0] != me
606612
]
607613
gone_user_ids = (
608-
[r[0] for r in details.get(Membership.LEAVE, empty_ms).members] +
609-
[r[0] for r in details.get(Membership.BAN, empty_ms).members]
614+
[
615+
r[0]
616+
for r in details.get(Membership.LEAVE, empty_ms).members
617+
if r[0] != me
618+
] + [
619+
r[0]
620+
for r in details.get(Membership.BAN, empty_ms).members
621+
if r[0] != me
622+
]
610623
)
611624

612625
# FIXME: only build up a member_ids list for our heroes
@@ -621,22 +634,13 @@ def compute_summary(self, room_id, sync_config, batch, state, now_token):
621634
member_ids[user_id] = event_id
622635

623636
# FIXME: order by stream ordering rather than as returned by SQL
624-
me = sync_config.user.to_string()
625637
if (joined_user_ids or invited_user_ids):
626638
summary['m.heroes'] = sorted(
627-
[
628-
user_id
629-
for user_id in (joined_user_ids + invited_user_ids)
630-
if user_id != me
631-
]
639+
[user_id for user_id in (joined_user_ids + invited_user_ids)]
632640
)[0:5]
633641
else:
634642
summary['m.heroes'] = sorted(
635-
[
636-
user_id
637-
for user_id in gone_user_ids
638-
if user_id != me
639-
]
643+
[user_id for user_id in gone_user_ids]
640644
)[0:5]
641645

642646
if not sync_config.filter_collection.lazy_load_members():

0 commit comments

Comments
 (0)