Merge remote-tracking branch 'origin/develop' into release-v0.99.0

This commit is contained in:
Richard van der Hoff 2019-01-30 16:23:28 +00:00
commit c74b96755c
2 changed files with 14 additions and 1 deletions

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

@ -0,0 +1 @@
Fix bug when rejecting remote invites

View File

@ -1473,10 +1473,22 @@ class SyncHandler(object):
if since_token and since_token.is_after(leave_token): if since_token and since_token.is_after(leave_token):
continue continue
# If this is an out of band message, like a remote invite
# rejection, we include it in the recents batch. Otherwise, we
# let _load_filtered_recents handle fetching the correct
# batches.
#
# This is all screaming out for a refactor, as the logic here is
# subtle and the moving parts numerous.
if leave_event.internal_metadata.is_out_of_band_membership():
batch_events = [leave_event]
else:
batch_events = None
room_entries.append(RoomSyncResultBuilder( room_entries.append(RoomSyncResultBuilder(
room_id=room_id, room_id=room_id,
rtype="archived", rtype="archived",
events=None, events=batch_events,
newly_joined=room_id in newly_joined_rooms, newly_joined=room_id in newly_joined_rooms,
full_state=False, full_state=False,
since_token=since_token, since_token=since_token,