Remove the ability to send state events that are MSC4354 sticky (#20256)

Part of: MSC4354 whose Experimental Feature tracking issue is
https://github.com/element-hq/synapse/issues/19409

Remove the ability to create sticky (MSC4354) state events as a client
This was removed from the MSC in

https://github.com/matrix-org/matrix-spec-proposals/commit/d7d1546d3aa2323ec5d97a50c9f61ab92cd9e14b

---------

Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org>
This commit is contained in:
Olivier 'reivilibre
2026-09-23 17:11:43 +01:00
committed by GitHub
parent fbfa7bcfd1
commit e8987e801e
2 changed files with 2 additions and 10 deletions
+1
View File
@@ -0,0 +1 @@
Remove the ability to send state events that are sticky, as this feature was removed from [MSC4354: Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354).
+1 -10
View File
@@ -217,7 +217,6 @@ class RoomStateEventRestServlet(RestServlet):
self.clock = hs.get_clock()
self._event_serializer = hs.get_event_client_serializer()
self._spam_checker_module_callbacks = hs.get_module_api_callbacks().spam_checker
self._msc4354_enabled = hs.config.experimental.msc4354_enabled
def register(self, http_server: HttpServer) -> None:
# /rooms/$roomid/state/$eventtype
@@ -339,10 +338,6 @@ class RoomStateEventRestServlet(RestServlet):
if requester.app_service_id:
origin_server_ts = parse_integer(request, "ts")
sticky_duration_ms: int | None = None
if self._msc4354_enabled:
sticky_duration_ms = parse_integer(request, StickyEvent.QUERY_PARAM_NAME)
delay = _parse_request_for_delayed_event_delay(request)
if delay is not None:
delay_id = await self.delayed_events_handler.add(
@@ -353,7 +348,7 @@ class RoomStateEventRestServlet(RestServlet):
origin_server_ts=origin_server_ts,
content=content,
delay=delay,
sticky_duration_ms=sticky_duration_ms,
sticky_duration_ms=None,
)
set_tag("delay_id", delay_id)
@@ -381,10 +376,6 @@ class RoomStateEventRestServlet(RestServlet):
"room_id": room_id,
"sender": requester.user.to_string(),
}
if sticky_duration_ms is not None:
event_dict[StickyEvent.EVENT_FIELD_NAME] = StickyEventField(
duration_ms=sticky_duration_ms
)
if state_key is not None:
event_dict["state_key"] = state_key