Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/18675.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Include `event_id` when getting state with `?format=event`. Contributed by @tulir @ Beeper.
16 changes: 14 additions & 2 deletions synapse/rest/client/room.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,11 @@
UnredactedContentDeletedError,
)
from synapse.api.filtering import Filter
from synapse.events.utils import SerializeEventConfig, format_event_for_client_v2
from synapse.events.utils import (
SerializeEventConfig,
format_event_for_client_v2,
serialize_event,
)
from synapse.http.server import HttpServer
from synapse.http.servlet import (
ResolveRoomIdMixin,
Expand Down Expand Up @@ -198,6 +202,7 @@ def __init__(self, hs: "HomeServer"):
self.message_handler = hs.get_message_handler()
self.delayed_events_handler = hs.get_delayed_events_handler()
self.auth = hs.get_auth()
self.clock = hs.get_clock()
self._max_event_delay_ms = hs.config.server.max_event_delay_ms
self._spam_checker_module_callbacks = hs.get_module_api_callbacks().spam_checker

Expand Down Expand Up @@ -268,7 +273,14 @@ async def on_GET(
raise SynapseError(404, "Event not found.", errcode=Codes.NOT_FOUND)

if format == "event":
event = format_event_for_client_v2(data.get_dict())
event = serialize_event(
data,
self.clock.time_msec(),
config=SerializeEventConfig(
event_format=format_event_for_client_v2,
requester=requester,
),
)
return 200, event
elif format == "content":
return 200, data.get_dict()["content"]
Expand Down
Loading