Add endpoints for backfilling history (MSC2716) (#9247)
Work on https://github.com/matrix-org/matrix-doc/pull/2716
2 files changed, 17 insertions, 5 deletions
diff --git a/synapse/api/auth.py b/synapse/api/auth.py
index cf4333a923..edf1b918eb 100644
--- a/synapse/api/auth.py
+++ b/synapse/api/auth.py
@@ -92,11 +92,8 @@ class Auth:
async def check_from_context(
self, room_version: str, event, context, do_sig_check=True
) -> None:
- prev_state_ids = await context.get_prev_state_ids()
- auth_events_ids = self.compute_auth_events(
- event, prev_state_ids, for_verification=True
- )
- auth_events_by_id = await self.store.get_events(auth_events_ids)
+ auth_event_ids = event.auth_event_ids()
+ auth_events_by_id = await self.store.get_events(auth_event_ids)
auth_events = {(e.type, e.state_key): e for e in auth_events_by_id.values()}
room_version_obj = KNOWN_ROOM_VERSIONS[room_version]
diff --git a/synapse/api/constants.py b/synapse/api/constants.py
index 6c3958f7ab..414e4c019a 100644
--- a/synapse/api/constants.py
+++ b/synapse/api/constants.py
@@ -119,6 +119,9 @@ class EventTypes:
SpaceChild = "m.space.child"
SpaceParent = "m.space.parent"
+ MSC2716_INSERTION = "org.matrix.msc2716.insertion"
+ MSC2716_MARKER = "org.matrix.msc2716.marker"
+
class ToDeviceEventTypes:
RoomKeyRequest = "m.room_key_request"
@@ -185,6 +188,18 @@ class EventContentFields:
# cf https://github.com/matrix-org/matrix-doc/pull/1772
ROOM_TYPE = "type"
+ # Used on normal messages to indicate they were historically imported after the fact
+ MSC2716_HISTORICAL = "org.matrix.msc2716.historical"
+ # For "insertion" events
+ MSC2716_NEXT_CHUNK_ID = "org.matrix.msc2716.next_chunk_id"
+ # Used on normal message events to indicate where the chunk connects to
+ MSC2716_CHUNK_ID = "org.matrix.msc2716.chunk_id"
+ # For "marker" events
+ MSC2716_MARKER_INSERTION = "org.matrix.msc2716.marker.insertion"
+ MSC2716_MARKER_INSERTION_PREV_EVENTS = (
+ "org.matrix.msc2716.marker.insertion_prev_events"
+ )
+
class RoomEncryptionAlgorithms:
MEGOLM_V1_AES_SHA2 = "m.megolm.v1.aes-sha2"
|