diff --git a/rust/src/events/mod.rs b/rust/src/events/mod.rs index 91aff38e4a..124debb2e4 100644 --- a/rust/src/events/mod.rs +++ b/rust/src/events/mod.rs @@ -651,11 +651,19 @@ impl Event { let internal_metadata = Py::new(py, EventInternalMetadata::new(internal_metadata_dict)?)?; - let event_value = serde_json::to_value(&event_format_enum) - .map_err(|err| PyException::new_err(format!("Failed to serialize event: {}", err)))?; - let event_id = calculate_event_id(&event_value, &room_version).map_err(|err| { - PyException::new_err(format!("Failed to calculate event_id: {}", err)) - })?; + let event_id = { + if room_version.event_format == EventFormatVersions::ROOM_V1_V2 { + // Read the event ID From the event + todo!() + } else { + let event_value = serde_json::to_value(&event_format_enum).map_err(|err| { + PyException::new_err(format!("Failed to serialize event: {}", err)) + })?; + calculate_event_id(&event_value, &room_version).map_err(|err| { + PyException::new_err(format!("Failed to calculate event_id: {}", err)) + })? + } + }; Ok(Self { inner: event_format_enum, diff --git a/synapse/events/__init__.py b/synapse/events/__init__.py index 546ae999a6..e82a45d70f 100644 --- a/synapse/events/__init__.py +++ b/synapse/events/__init__.py @@ -588,7 +588,7 @@ def _event_type_from_format_version( if format_version == EventFormatVersions.ROOM_V1_V2: return FrozenEvent elif format_version == EventFormatVersions.ROOM_V3: - return FrozenEventV2 + return Event elif format_version == EventFormatVersions.ROOM_V4_PLUS: return Event elif format_version == EventFormatVersions.ROOM_V11_HYDRA_PLUS: