Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disinviting users over federation doesn't work #4808

Open
matrixbot opened this issue Dec 16, 2023 · 1 comment
Open

Disinviting users over federation doesn't work #4808

matrixbot opened this issue Dec 16, 2023 · 1 comment

Comments

@matrixbot
Copy link
Collaborator

matrixbot commented Dec 16, 2023

This issue has been migrated from #4808.


Riot issue: element-hq/element-web#7318

As mentioned in element-hq/element-web#7318 (comment), this is a different case from matrix-org/synapse#2181 due to Synapse not sending the disinvite over federation to the target homeserver.

As a simple test case:

  1. Create a room on Server A
  2. Invite a user from Server B to the room
  3. Before they accept, disinvite them
  4. That user now has a stuck invite

Server A never notifies Server B of the disinvite (leave event), and therefore Server B can't really do anything about it. If the user tries to respond to the event, Server B could realize that 403 on join (or declination of the invite) means it should be locally rejected. At that point, you're in matrix-org/synapse#2181 territory.

When Server A is modified to make calls to Server B by sending the disinvite in a transaction, Server B accepts the transaction but ignores the event because it cannot determine the room version (and therefore the event format version). A lightly tested and highly unstable branch for modifying Server A to send the event is available here: matrix-org/synapse@16c8b4e...travis/fix-stuck-invites

Patching Server B's behaviour is non-trivial to me, otherwise I'd just fix it. Would be good if this fix was partnered with spec to clarify that disinvite (leave) events should be sent to target hosts, and that target hosts should expect them. I don't think this is introducing anything new, and shouldn't need a dedicated endpoint either.

@MarcWadai
Copy link

hi ! do you have any news regarding the resolution of this issue ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants