Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Invites to local users from remote server do not get sent down sync of other local users in the room (sometimes). #8605

Open
erikjohnston opened this issue Oct 20, 2020 · 5 comments
Labels
A-Invite Inviting users to rooms and accepting invites A-Sync defects related to /sync O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Minor Blocks non-critical functionality, workarounds exist. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.

Comments

@erikjohnston
Copy link
Member

If @alice:local and @bob:remote are in a room and @bob:remote invites @charlie:local, then @alice:local may not see the invite come down sync.

This is because the remote server sends an invite over /invite, which the local server persists as an outlier and forwards to Charlie. Alice does a /sync, the invite does not get returned as it is an outlier. The remote server then sends the invite to the local server in a standard federation transaction, which then flips the outlier bit in the DB. When Alice does another /sync they still won't get the event as their since token will be after the invite event.

@anoadragon453 anoadragon453 added z-bug (Deprecated Label) p1 labels Oct 20, 2020
@Half-Shot
Copy link
Collaborator

Half-Shot commented Oct 20, 2020

Out of interest, what's the rationale for using /invite rather than just pushing a membeship event to the server when both servers are in the room? I couldn't figure that out from reading the spec.

@anoadragon453
Copy link
Member

@erikjohnston suggested that one possible solution is to not persist the event as an outlier if another local user is already in the room.

@erikjohnston
Copy link
Member Author

Out of interest, what's the rationale for using /invite rather than just pushing a membeship event to the server when both servers are in the room? I couldn't figure that out from reading the spec.

We require the invite is signed by the target server before it gets sent out (to stop servers from pretending they invited another server without telling them, thus blocking other servers from trying to invite it)

@richvdh
Copy link
Member

richvdh commented Oct 29, 2020

We require the invite is signed by the target server before it gets sent out

do we, though?

@richvdh
Copy link
Member

richvdh commented Nov 10, 2020

We require the invite is signed by the target server before it gets sent out

do we, though?

The spec doesn't seem to mention this, and I don't believe that synapse enforces it.

@MadLittleMods MadLittleMods added A-Invite Inviting users to rooms and accepting invites T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues. labels May 16, 2022
@DMRobertson DMRobertson added A-Sync defects related to /sync O-Uncommon Most users are unlikely to come across this or unexpected workflow z-bug (Deprecated Label) z-p1 S-Minor Blocks non-critical functionality, workarounds exist. and removed z-bug (Deprecated Label) z-p1 A-Sync defects related to /sync O-Uncommon Most users are unlikely to come across this or unexpected workflow labels Sep 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Invite Inviting users to rooms and accepting invites A-Sync defects related to /sync O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Minor Blocks non-critical functionality, workarounds exist. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Projects
None yet
Development

No branches or pull requests

6 participants