Merge pull request #4527 from matrix-org/erikj/fix_sending_remote_invite_rejections

Fix remote invite rejections not coming down sync
This commit is contained in:
Erik Johnston 2019-01-30 16:15:35 +00:00 committed by GitHub
commit d534a27fe8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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,