This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
Include event_id
when /state/:type[/:key]?format=event
#15454
Labels
O-Occasional
Affects or can be seen by some users regularly or most users rarely
S-Tolerable
Minor significance, cosmetic issues, low or no impact to users.
T-Enhancement
New features, changes in functionality, improvements in performance, or user-facing enhancements.
Problem
Currently when you
GET /_matrix/client/v3/rooms/{room_id}/state/m.room.create?format=event
(notice the event format), it doesn't includeevent_id
which is kinda annoying to work with and reference.Example:
Proposal
Add
event_id
to the output. There is no spec to go off of but seems like a non-breaking change we can do.Spawning from a need in matrix-org/matrix-viewer#167 to get the
event_id
of them.room.create
event in the room.Is there a better way to do this? Perhaps
/_matrix/client/v3/rooms/{room_id}/messages?dir=f&limit=1
Dev notes
?format
query parameter: Spec?format=event|content
onGET /state/:type[/:key]
matrix-spec#1047?format
introduced to Synapse in Allow clients to ask for the whole of a single state event #1094Relevant code:
synapse/synapse/rest/client/room.py
Lines 258 to 262 in d935b80
Currently, we use
format_event_for_client_v2(data.get_dict())
against theEventBase
PDU JSON dictionary which doesn't includeevent_id
. We could instead useserialize_event(data, self.clock.time_msec())
which would get us something more workable.We could also alternatively, add
event_id
to the dictionary returned byEventBase.get_dict()
but that probably has too many downstream side-effects like messing with the PDU JSON serialization stuff.synapse/synapse/events/__init__.py
Lines 362 to 366 in d935b80
Separately, it would be good to standardize with the
?event_format=client|federation
parameter used with other endpointsThe text was updated successfully, but these errors were encountered: