Steps to reproduce
- Have a 1:1 DM room (encrypted,
join_rule: invite, history_visibility: invited) with another user on the same homeserver.
- The other user leaves the room. In our case they did not leave manually — their account was deactivated server-side (MAS/MSC3861 deployment), and deactivation emits a
leave membership event on their behalf for every room.
- The account is later reactivated, so the user exists and is active again.
- Open the DM in Element X on iOS and try to invite them back — either from the room's member/invite screen, or via the "You are alone in this room / invite someone" prompt.
Outcome
What did you expect?
The client sends POST /_matrix/client/v3/rooms/{roomId}/invite and the user is invited back.
What happened instead?
Nothing reaches the server, and the user sees an error toast in the app.
Two distinct symptoms, in this order:
a) Before clearing the cache — the user who left is still shown as a room member. In the invite dialog they appear pre-selected with a checkmark, and searching for them by display name yields the same pre-selected entry, even though the room timeline correctly shows their "left the room" event. Pressing invite errors out.
b) After clearing the cache — the room correctly renders as "You are alone in this room. Invite someone?", so the client's view of membership is now right. Pressing "Invite" still fails with an error.
In both cases the invite request is never sent. We checked the server side over a full day of attempts across both symptoms:
POST /_matrix/client/v3/rooms/{roomId}/invite — zero occurrences from this account in the Synapse homeserver log.
- Same for the reverse proxy access log in front of Synapse — the request never leaves the client.
- The account's other writes from the same app session in the same period work fine (message sends, presence, sliding sync), so this is not connectivity or an expired session.
The failure is specific to the invite action.
Additional context: Element Desktop works on the same room and account
With the identical account, in the identical room, Element Desktop 1.12.25 sends the request and it succeeds:
"OPTIONS /_matrix/client/v3/rooms/!room%3Aexample.org/invite HTTP/1.1" 204
"POST /_matrix/client/v3/rooms/!room%3Aexample.org/invite HTTP/1.1" 200
The invited user accepted 12 seconds later and the DM is functional again. So neither permissions nor server policy are involved: the inviter holds power level 100 in the room, invite requires 0, and the homeserver accepts invites for this room normally (we also verified separately that the homeserver accepts invites for both active and deactivated target users).
Your phone model
iPhone 15 Pro Max
Operating system version
iOS 26.6.0
Application version
Element X 26.08.0
Homeserver
Synapse 1.150.0 with matrix-authentication-service (MSC3861 delegated auth)
Will you send logs?
Not attached yet — can provide a rageshake on request.
Steps to reproduce
join_rule: invite,history_visibility: invited) with another user on the same homeserver.leavemembership event on their behalf for every room.Outcome
What did you expect?
The client sends
POST /_matrix/client/v3/rooms/{roomId}/inviteand the user is invited back.What happened instead?
Nothing reaches the server, and the user sees an error toast in the app.
Two distinct symptoms, in this order:
a) Before clearing the cache — the user who left is still shown as a room member. In the invite dialog they appear pre-selected with a checkmark, and searching for them by display name yields the same pre-selected entry, even though the room timeline correctly shows their "left the room" event. Pressing invite errors out.
b) After clearing the cache — the room correctly renders as "You are alone in this room. Invite someone?", so the client's view of membership is now right. Pressing "Invite" still fails with an error.
In both cases the invite request is never sent. We checked the server side over a full day of attempts across both symptoms:
POST /_matrix/client/v3/rooms/{roomId}/invite— zero occurrences from this account in the Synapse homeserver log.The failure is specific to the invite action.
Additional context: Element Desktop works on the same room and account
With the identical account, in the identical room, Element Desktop 1.12.25 sends the request and it succeeds:
The invited user accepted 12 seconds later and the DM is functional again. So neither permissions nor server policy are involved: the inviter holds power level 100 in the room,
inviterequires 0, and the homeserver accepts invites for this room normally (we also verified separately that the homeserver accepts invites for both active and deactivated target users).Your phone model
iPhone 15 Pro Max
Operating system version
iOS 26.6.0
Application version
Element X 26.08.0
Homeserver
Synapse 1.150.0 with matrix-authentication-service (MSC3861 delegated auth)
Will you send logs?
Not attached yet — can provide a rageshake on request.