Federation Room invite fails "PDU in invite state (index 0) violates the room event format" for room version 10 #2084

Closed
opened 2026-08-01 19:21:12 +00:00 by Niklas200 · 3 comments

When inviting a Continuwuity user into a room hosted on another homeserver, the invite fails.

The room uses room version 10.

Continuwuity returns:

"InvalidParam: PDU in invite state (index 0) violates the room event format"

Debug log shows:

"Invite state event idx=0"
"Invite state event is not a PDU"

The received invite state contains stripped state events, starting with m.room.create.

Example:

{
"content": {
"room_version": "10"
},
"sender": "@user:server",
"state_key": "",
"type": "m.room.create"
}

It looks like Continuwuity expects a full PDU here, but the federation invite contains stripped state events.

Steps to reproduce:

  1. Create a room on Synapse (room version 10).
  2. Invite a user from a Continuwuity homeserver.
  3. The invite fails with HTTP 400.

Logs:
2026-08-01T19:14:08.817369Z DEBUG invite:
Validating invite room state for invite request
room_version=V10

2026-08-01T19:14:08.817392Z TRACE invite:
Raw invite state:

[
Stripped({
"content": {
"creator": "@user:example.org",
"room_version": "10"
},
"sender": "@user:example.org",
"state_key": "",
"type": "m.room.create"
})
]

2026-08-01T19:14:08.817405Z TRACE invite:
Invite state event idx=0

2026-08-01T19:14:08.817410Z DEBUG invite:
Invite state event is not a PDU idx=0

2026-08-01T19:14:08.817438Z DEBUG error:
Client error:
InvalidParam: PDU in invite state (index 0) violates the room event format

2026-08-01T19:14:08.817488Z DEBUG router:
400 Bad Request

Request:
PUT /_matrix/federation/v2/invite/{room_id}/{event_id}

When inviting a Continuwuity user into a room hosted on another homeserver, the invite fails. The room uses room version 10. Continuwuity returns: "InvalidParam: PDU in invite state (index 0) violates the room event format" Debug log shows: "Invite state event idx=0" "Invite state event is not a PDU" The received invite state contains stripped state events, starting with m.room.create. Example: { "content": { "room_version": "10" }, "sender": "@user:server", "state_key": "", "type": "m.room.create" } It looks like Continuwuity expects a full PDU here, but the federation invite contains stripped state events. Steps to reproduce: 1. Create a room on Synapse (room version 10). 2. Invite a user from a Continuwuity homeserver. 3. The invite fails with HTTP 400. Logs: 2026-08-01T19:14:08.817369Z DEBUG invite: Validating invite room state for invite request room_version=V10 2026-08-01T19:14:08.817392Z TRACE invite: Raw invite state: [ Stripped({ "content": { "creator": "@user:example.org", "room_version": "10" }, "sender": "@user:example.org", "state_key": "", "type": "m.room.create" }) ] 2026-08-01T19:14:08.817405Z TRACE invite: Invite state event idx=0 2026-08-01T19:14:08.817410Z DEBUG invite: Invite state event is not a PDU idx=0 2026-08-01T19:14:08.817438Z DEBUG error: Client error: InvalidParam: PDU in invite state (index 0) violates the room event format 2026-08-01T19:14:08.817488Z DEBUG router: 400 Bad Request Request: PUT /_matrix/federation/v2/invite/{room_id}/{event_id}
Author

Also invites to other rooms with other rooms versions doesnt work

Also invites to other rooms with other rooms versions doesnt work
Member

Could this be #1971?

Could this be #1971?
Author

@Henry-Hiles wrote in #2084 (comment):

Could this be #1971?

Seems like it. Thanks!

@Henry-Hiles wrote in https://forgejo.ellis.link/continuwuation/continuwuity/issues/2084#issuecomment-33285: > Could this be #1971? > Seems like it. Thanks!
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity#2084
No description provided.