show heroes if a room has a 'deleted' name/canonical_alias (#3851)

pull/3855/head
Matthew Hodgson 2018-09-12 17:11:05 +01:00 committed by GitHub
parent fa0d464fa4
commit 2ac1abbc7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 2 deletions

1
changelog.d/3851.bugfix Normal file
View File

@ -0,0 +1 @@
Show heroes if room name/canonical alias has been deleted

View File

@ -562,8 +562,21 @@ class SyncHandler(object):
details.get(Membership.INVITE, empty_ms).count
)
if name_id or canonical_alias_id:
defer.returnValue(summary)
# if the room has a name or canonical_alias set, we can skip
# calculating heroes. we assume that if the event has contents, it'll
# be a valid name or canonical_alias - i.e. we're checking that they
# haven't been "deleted" by blatting {} over the top.
if name_id:
name = yield self.store.get_event(name_id, allow_none=False)
if name and name.content:
defer.returnValue(summary)
if canonical_alias_id:
canonical_alias = yield self.store.get_event(
canonical_alias_id, allow_none=False,
)
if canonical_alias and canonical_alias.content:
defer.returnValue(summary)
joined_user_ids = [
r[0] for r in details.get(Membership.JOIN, empty_ms).members