forked from MirrorHub/synapse
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:
commit
d534a27fe8
2 changed files with 14 additions and 1 deletions
1
changelog.d/4527.bugfix
Normal file
1
changelog.d/4527.bugfix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Fix bug when rejecting remote invites
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in a new issue