mirror of
https://github.com/element-hq/synapse.git
synced 2026-08-28 18:08:17 +00:00
fix RemoteJoinHelper to handle v12 rooms (#20021)
While preparing for the default room version change to "12", the new tests for [FederationJoinUpgradedRoomTestCase](https://github.com/element-hq/synapse/blob/36664cac4fdec38993c68078cd9a82452b56dca7/tests/federation/test_federation_join_upgraded_room.py#L44) were unable to handle creation events inside of the manufactured `auth_events` sections. All of these tests fail. Related to https://github.com/element-hq/synapse/pull/20015 as another recent fix to `RemoteJoinHelper` ### Testing strategy To test, I recommend changing the `DEFAULT_ROOM_VERSION` in [the `server.py` config file](https://github.com/element-hq/synapse/blob/36664cac4fdec38993c68078cd9a82452b56dca7/synapse/config/server.py#L179) to `"12"`, then running `poetry run trial tests.federation.test_federation_join_upgraded_room.FederationJoinUpgradedRoomTestCase` for these selective tests. Alternatively, creating the `default_config()` for the `TestCase` in question to set the default room version, but that is more work.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
Fix `RemoteJoinHelper` test helper to handle room version "12" rooms. Contributed by @famedly @jason-famedly.
|
||||
@@ -146,7 +146,9 @@ class RemoteJoinHelper:
|
||||
"type": EventTypes.Member,
|
||||
"state_key": remote_creator_user_id,
|
||||
"content": {"membership": Membership.JOIN},
|
||||
"auth_events": [room_create_event.event_id],
|
||||
"auth_events": [room_create_event.event_id]
|
||||
if not room_version.msc4291_room_ids_as_hashes
|
||||
else [],
|
||||
"prev_events": [room_create_event.event_id],
|
||||
},
|
||||
room_version=room_version,
|
||||
@@ -173,7 +175,9 @@ class RemoteJoinHelper:
|
||||
"auth_events": [
|
||||
room_create_event.event_id,
|
||||
creator_membership_event.event_id,
|
||||
],
|
||||
]
|
||||
if not room_version.msc4291_room_ids_as_hashes
|
||||
else [creator_membership_event.event_id],
|
||||
"prev_events": [prev_event.event_id],
|
||||
},
|
||||
room_version=room_version,
|
||||
@@ -215,7 +219,9 @@ class RemoteJoinHelper:
|
||||
"auth_events": [
|
||||
room_create_event.event_id,
|
||||
creator_membership_event.event_id,
|
||||
],
|
||||
]
|
||||
if not room_version.msc4291_room_ids_as_hashes
|
||||
else [creator_membership_event.event_id],
|
||||
"prev_events": [
|
||||
extra_events[-1].event_id
|
||||
if extra_events
|
||||
@@ -254,7 +260,9 @@ class RemoteJoinHelper:
|
||||
"auth_events": [
|
||||
room_create_event.event_id,
|
||||
invite_membership_event.event_id,
|
||||
],
|
||||
]
|
||||
if not room_version.msc4291_room_ids_as_hashes
|
||||
else [invite_membership_event.event_id],
|
||||
"prev_events": [invite_membership_event.event_id],
|
||||
},
|
||||
room_version=room_version,
|
||||
|
||||
Reference in New Issue
Block a user