mirror of
https://github.com/element-hq/synapse.git
synced 2026-05-12 17:24:48 +00:00
Only add MSC4242 room version when experimental flag is set
This commit is contained in:
@@ -769,7 +769,6 @@ static KNOWN_ROOM_VERSIONS: LazyLock<KnownRoomVersionsMapping> = LazyLock::new(|
|
||||
ROOM_VERSION_MSC3757V10,
|
||||
ROOM_VERSION_MSC3757V11,
|
||||
ROOM_VERSION_HYDRA_V11,
|
||||
ROOM_VERSION_MSC4242V12,
|
||||
];
|
||||
|
||||
KnownRoomVersionsMapping {
|
||||
|
||||
@@ -479,6 +479,11 @@ class ExperimentalConfig(Config):
|
||||
# Enable room version (and thus applicable push rules from MSC3931/3932)
|
||||
KNOWN_ROOM_VERSIONS.add_room_version(RoomVersions.MSC1767v10)
|
||||
|
||||
self.msc4242_enabled: bool = experimental.get("msc4242_enabled", False)
|
||||
if self.msc4242_enabled:
|
||||
# Enable the room version
|
||||
KNOWN_ROOM_VERSIONS.add_room_version(RoomVersions.MSC4242v12)
|
||||
|
||||
# MSC3391: Removing account data.
|
||||
self.msc3391_enabled = experimental.get("msc3391_enabled", False)
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ from synapse.rest.client import room
|
||||
from synapse.server import HomeServer
|
||||
from synapse.util.clock import Clock
|
||||
|
||||
from tests.unittest import HomeserverTestCase
|
||||
from tests.unittest import HomeserverTestCase, override_config
|
||||
|
||||
|
||||
class MSC4242StateDagsTests(HomeserverTestCase):
|
||||
@@ -51,6 +51,7 @@ class MSC4242StateDagsTests(HomeserverTestCase):
|
||||
assert prev_state_events is not None
|
||||
return prev_state_events
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_forward_extremities_are_calculated(self) -> None:
|
||||
"""
|
||||
Check that forward extremities are set as prev_state_events and that they don't change
|
||||
@@ -202,6 +203,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
message=f"want_new_extrems={want_new_extrems} got={new_extrems}",
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_simple(self) -> None:
|
||||
# Simple linear chain
|
||||
self._test(
|
||||
@@ -215,6 +217,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
want_new_extrems={"$4"},
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_fork(self) -> None:
|
||||
# Simple fork so we end up with two forward extrems
|
||||
self._test(
|
||||
@@ -228,6 +231,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
want_new_extrems={"$3", "$4"},
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_merge(self) -> None:
|
||||
# Simple fork so we end up with two forward extrems
|
||||
self._test(
|
||||
@@ -241,6 +245,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
want_new_extrems={"$4"},
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_fork_on_existing(self) -> None:
|
||||
# Fork where we are adding to older events
|
||||
self.seen_event_ids = {"$1", "$2", "$3"}
|
||||
@@ -253,6 +258,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
want_new_extrems={"$4", "$5"},
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_merge_on_existing(self) -> None:
|
||||
# Merge where we are merging to older events
|
||||
self.seen_event_ids = {"$1", "$2", "$3"}
|
||||
@@ -264,6 +270,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
want_new_extrems={"$4"},
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_merge_on_not_current(self) -> None:
|
||||
# Merge where we are merging to older events
|
||||
self.seen_event_ids = {"$1", "$2", "$3"}
|
||||
@@ -275,6 +282,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
want_new_extrems={"$3", "$4"},
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_append_with_rejected(self) -> None:
|
||||
# rejected events cannot be forward extremities
|
||||
self.seen_event_ids = {"$1", "$2", "$3"}
|
||||
@@ -295,6 +303,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
want_new_extrems={"$3"},
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_append_with_rejected_in_chain(
|
||||
self,
|
||||
) -> None:
|
||||
@@ -311,6 +320,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
want_new_extrems={"$5"},
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_missing_prevs_raises(self) -> None:
|
||||
self._test(
|
||||
current_fwds=[],
|
||||
@@ -324,6 +334,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
|
||||
want_raises=True,
|
||||
)
|
||||
|
||||
@override_config({"experimental_features": {"msc4242_enabled": True}})
|
||||
def test_calculate_new_state_dag_extremities_complex(self) -> None:
|
||||
"""
|
||||
1
|
||||
|
||||
Reference in New Issue
Block a user