MSC4143: Advertise org.matrix.msc4143 in /versions unstable_features (#19646)

Closes #19580

---------

Co-authored-by: toonbr1me <toonbr1me@users.noreply.github.com>
This commit is contained in:
toonbr1me
2026-06-29 14:07:43 +01:00
committed by GitHub
co-authored by toonbr1me
parent 7bc2b93e4c
commit 5edcb0f542
3 changed files with 22 additions and 1 deletions
+1
View File
@@ -0,0 +1 @@
Advertise `org.matrix.msc4143` in `unstable_features` when `msc4143_enabled` is set.
+2
View File
@@ -191,6 +191,8 @@ class VersionsRestServlet(RestServlet):
),
# MSC4140: Delayed events
"org.matrix.msc4140": bool(self.config.server.max_event_delay_ms),
# MSC4143: Matrix RTC transports (LiveKit backend)
"org.matrix.msc4143": self.config.experimental.msc4143_enabled,
# Simplified sliding sync
"org.matrix.simplified_msc3575": msc3575_enabled,
# Arbitrary key-value profile fields.
+19 -1
View File
@@ -20,10 +20,11 @@
from twisted.internet.testing import MemoryReactor
from synapse.rest import admin
from synapse.rest.client import login, matrixrtc, register, room
from synapse.rest.client import login, matrixrtc, register, room, versions
from synapse.server import HomeServer
from synapse.util.clock import Clock
from tests import unittest
from tests.unittest import HomeserverTestCase, override_config
PATH_PREFIX = "/_matrix/client/unstable/org.matrix.msc4143"
@@ -103,3 +104,20 @@ class MatrixRtcTestCase(HomeserverTestCase):
)
self.assertEqual(200, channel.code, channel.json_body)
self.assert_dict({"rtc_transports": [LIVEKIT_ENDPOINT]}, channel.json_body)
class MatrixRtcVersionsTestCase(HomeserverTestCase):
"""Tests that org.matrix.msc4143 is correctly advertised in /versions."""
servlets = [versions.register_servlets]
def test_msc4143_false_by_default(self) -> None:
channel = self.make_request("GET", "/_matrix/client/versions")
self.assertEqual(channel.code, 200, channel.result)
self.assertFalse(channel.json_body["unstable_features"]["org.matrix.msc4143"])
@unittest.override_config({"experimental_features": {"msc4143_enabled": True}})
def test_msc4143_true_if_enabled(self) -> None:
channel = self.make_request("GET", "/_matrix/client/versions")
self.assertEqual(channel.code, 200, channel.result)
self.assertTrue(channel.json_body["unstable_features"]["org.matrix.msc4143"])