Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Rename /batch_send query parameter from ?prev_event to more obvio…
Browse files Browse the repository at this point in the history
…us usage with `?prev_event_id` (MSC2716) (#10839)

As mentioned in matrix-org/matrix-spec-proposals#2716 (comment)
and #10737
  • Loading branch information
MadLittleMods committed Sep 21, 2021
1 parent 706b0e4 commit ee557b5
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
1 change: 1 addition & 0 deletions changelog.d/10839.misc
@@ -0,0 +1 @@
Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` query parameter from `?prev_event` to more obvious usage with `?prev_event_id`.
16 changes: 9 additions & 7 deletions synapse/rest/client/room_batch.py
Expand Up @@ -61,7 +61,7 @@ class RoomBatchSendEventRestServlet(RestServlet):
some messages, you can only insert older ones after that.
tldr; Insert chunks from your most recent history -> oldest history.
POST /_matrix/client/unstable/org.matrix.msc2716/rooms/<roomID>/batch_send?prev_event=<eventID>&chunk_id=<chunkID>
POST /_matrix/client/unstable/org.matrix.msc2716/rooms/<roomID>/batch_send?prev_event_id=<eventID>&chunk_id=<chunkID>
{
"events": [ ... ],
"state_events_at_start": [ ... ]
Expand Down Expand Up @@ -188,24 +188,26 @@ async def on_POST(
assert_params_in_dict(body, ["state_events_at_start", "events"])

assert request.args is not None
prev_events_from_query = parse_strings_from_args(request.args, "prev_event")
prev_event_ids_from_query = parse_strings_from_args(
request.args, "prev_event_id"
)
chunk_id_from_query = parse_string(request, "chunk_id")

if prev_events_from_query is None:
if prev_event_ids_from_query is None:
raise SynapseError(
HTTPStatus.BAD_REQUEST,
"prev_event query parameter is required when inserting historical messages back in time",
errcode=Codes.MISSING_PARAM,
)

# For the event we are inserting next to (`prev_events_from_query`),
# For the event we are inserting next to (`prev_event_ids_from_query`),
# find the most recent auth events (derived from state events) that
# allowed that message to be sent. We will use that as a base
# to auth our historical messages against.
(
most_recent_prev_event_id,
_,
) = await self.store.get_max_depth_of(prev_events_from_query)
) = await self.store.get_max_depth_of(prev_event_ids_from_query)
# mapping from (type, state_key) -> state_event_id
prev_state_map = await self.state_store.get_state_ids_for_event(
most_recent_prev_event_id
Expand Down Expand Up @@ -286,7 +288,7 @@ async def on_POST(
events_to_create = body["events"]

inherited_depth = await self._inherit_depth_from_prev_ids(
prev_events_from_query
prev_event_ids_from_query
)

# Figure out which chunk to connect to. If they passed in
Expand Down Expand Up @@ -321,7 +323,7 @@ async def on_POST(
# an insertion event), in which case we just create a new insertion event
# that can then get pointed to by a "marker" event later.
else:
prev_event_ids = prev_events_from_query
prev_event_ids = prev_event_ids_from_query

base_insertion_event_dict = self._create_insertion_event_dict(
sender=requester.user.to_string(),
Expand Down

0 comments on commit ee557b5

Please sign in to comment.