From f6ad1787a03bcbb268cf79dba1c108ebcc6de158 Mon Sep 17 00:00:00 2001 From: timedout Date: Wed, 24 Dec 2025 01:39:31 +0000 Subject: [PATCH] fix: Don't treat every create event as unstripped --- src/api/server/invite.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/api/server/invite.rs b/src/api/server/invite.rs index 421f0c29..f8d73abf 100644 --- a/src/api/server/invite.rs +++ b/src/api/server/invite.rs @@ -228,6 +228,10 @@ async fn legacy_check_invite( let mut has_create = false; for raw_event in stripped_state { let canonical = utils::to_canonical_object(raw_event)?; + if canonical.get("room_id").is_none() { + // This is a stripped event, skip + continue; + } if let Some(event_type) = canonical.get("type") { if event_type.as_str().unwrap_or_default() == "m.room.create" { has_create = true; @@ -278,7 +282,7 @@ async fn check_invite( ) -> Result { if services.config.experiments.enforce_msc4311 { debug!("Checking invite event validity"); - let user = check_invite_event(services, invite_event, origin, room_id, room_version_id) + let user = legacy_check_invite(services, invite_event, origin, room_id, room_version_id) .await .inspect_err(|e| { debug_warn!("Invite event validity check failed: {e}");